抱歉粗略的标题。我的文档中有一个iframe。我希望在某些事件中,iframe会破坏自己成为父(主)文档。例如,运行以下代码
var el = document.createElement("iframe");
el.setAttribute('id', 'ifrm');
document.body.appendChild(el);
el.setAttribute('src', 'http://www.gmail.com');
一段时间后或登录后,iframe消失并代替主文档。我怎样才能获得相同的行为?
答案 0 :(得分:2)
您正在寻找framekiller
答案 1 :(得分:0)
即使通过一些复杂的javascript黑客可以实现这一点,我也不知道这是否可取。如果用户点击后退按钮会发生什么,您现在要尝试将所有内容放回iframe中并恢复原始文档吗?
我认为,为了保持大多数人习惯的方式和最有用的方式,最好将父窗口重定向到您想要访问的src网址。
此外,一旦用户在iframe中的某个位置导航,您将不再知道用户所在的位置,除非它位于同一个域中。这是一个安全限制,没有办法绕过它。
这是怎么回事?//From inside the iframe to set parent to gmail.com
window.top.location.assign('http://www.gmail.com')
//From inside the iframe to set parent to the current iframe location
window.top.location.assign(window.location.href)
//From the parent document to gmail.com
window.location.assign('http://www.gmail.com')
//From the parent document to the iframe location (if iframe is same domain)
window.location.assign(window.frames[0].location.href)