从iframe更改父网址

时间:2012-06-26 13:02:55

标签: javascript iframe parent

需要帮助解决一个简单的问题!它具有以下标准:

1)点击iframe中的图片链接更改父页面,点击另一个iframe图片链接将Parent更改为另一个页面(见下文)。

这可能听起来很简单,但我现在用Google搜索了几天,并查看了许多论坛。 代码可以是html css或js,但请尽可能简单地保留任何答案,并发布一个完整的工作示例,因为我是新手编码或重新编码测试网站:http://www.howiepotter.com/parent.html

enter image description here

4 个答案:

答案 0 :(得分:61)

http://reference.sitepoint.com/html/a/target

  

“_顶部”

     

在顶级框架集中加载内容(实际上,整个浏览器   窗口),无论当前帧有多少嵌套级别   位于

<a href="page" target="_top">Replace parent url!</a>

答案 1 :(得分:33)

更改此链接:

<a href="link-here.html">

对此:

<a href="#" onclick="top.window.location.href='yourURL';">

如果你愿意,你可以将onclick处理程序放在图像上,然后摆脱锚点。

请注意,这不是使用javascript的正确位置(处理程序应该从.js文件绑定,而不是在标记中绑定),但我觉得你正在寻找一个外科手术的答案并且不关心最好的做法。

编辑:正如Victor Nicollet指出的那样,如果你的iframe和父页面不共享域,这将引发安全性异常。见http://en.wikipedia.org/wiki/Same_origin_policy

答案 2 :(得分:2)

就我而言,我使用了以下内容

if (window.self !== window.top) { // checking if it is an iframe
  window.parent.location.href = websiteUrl;
} else {
  window.location.href = websiteUrl;
}

答案 3 :(得分:0)

如果@biziclop决定删除他的回答,因为他似乎威胁要在评论中这样做,这又是他的回答,非常有用:

http://reference.sitepoint.com/html/a/target

  

“ _ top”

     

将内容加载到顶级框架集中(实际上是整个浏览器   窗口),无论当前帧下方有多少嵌套级别   位于

<a href="page" target="_top">Replace parent url!</a>