从iframe更改父网址

use*_*899 44 javascript iframe parent

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

1)点击iframe中的图像链接更改父页面,单击另一个iframe图像链接将父级更改为另一个页面(见下文).

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

在此输入图像描述

biz*_*lop 64

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

"_最佳"

加载顶层框架集中的内容(实际上是整个浏览器窗口),无论当前框架下面有多少嵌套级别

<a href="page" target="_top">Replace parent url!</a>
Run Code Online (Sandbox Code Playgroud)

  • 虽然这个问题是针对JS的,但对于我目前的需求来说,这更容易. (4认同)
  • 甚至可以使用target ="_ parent" (2认同)
  • @Pixelomo:对于一个太简单的答案有太多的支持。:) (2认同)

jba*_*bey 33

更改您的链接:

<a href="link-here.html">
Run Code Online (Sandbox Code Playgroud)

对此:

<a href="#" onclick="top.window.location.href='yourURL';">
Run Code Online (Sandbox Code Playgroud)

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

请注意,这不是使用javascript的正确位置(处理程序应该从.js文件绑定,而不是在标记中绑定),但我感觉您正在寻找外科答案而不关心最佳实践.

编辑:正如Victor Nicollet所指出的,如果你的iframe和父页面不共享域,这将抛出一个安全例外.见http://en.wikipedia.org/wiki/Same_origin_policy

  • 这个.此外,请记住,框架和包含框架的页面必须来自同一个域才能使其正常工作. (7认同)
  • @Alireza您所说的“正确沙盒化”是什么意思? (2认同)

Art*_*kyi 7

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

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