javascript: 为 iframe 重新建立父级

javascript: reestablish parent for iframe

我有以下情况:一个静态网页,比如说 whatever.html,其中包含一个 iframe,两者都在同一个网站上。 iframe 包含一个动态页面 (CGI/Perl),比如 cgi.pl?param=a;根据用户操作,iframe 的内容将被新页面替换(具有不同参数的相同 CGI 脚本),比如 cgi.pl?param=b.

如果用户只打开 iframe 页面,我可以重定向到原始父页面(静态 HTML 页面):

if(self==top)
  top.location.href = "http://www..../whatever.html";

这可行,但我希望将该页面中包含的 iframe 设置为重新建立父页面的动态页面。在我的解决方案中,iframe 将仅包含默认动态页面 (cgi.pl?param=a),但它应该在 iframe 中显示 cgi.pl?param=b。

希望我解释清楚了。

感谢您的帮助!

pi

答案很简单。使用上面的脚本调用带有参数(例如test.html?abcd)的容器网页,然后使用脚本调用 window.location.search.substring(1) 将参数发送到 iframe src.