我从 iframe 中调用 JavaScript 以重定向到另一个网址。
var new_url = "http://mysite.com/?language=en&origin="
+ origin +"&destination="+ destination + "&Date=" + date;
}
//window.location.replace(new_url);
window.top.location.href = new_url;
//window.location.assign(new_url);
目的是在同一窗口内从 iframe 打开页面,所以我使用
window.top.location.href = new_url;
它可以在 IE 中正常工作,但不能在 chrome 和 FF 中工作,尽管也没有给出任何错误
最佳答案
最新的浏览器有 strict rules并且不允许更改,仅当:
- A和B的位置具有相同的原点,也就是说它们 具有相同的方案、主机和端口(HTTP、stackoverflow.com、80 例如),或者
- B 是顶级窗口,A 是嵌套在 B 内某个深度的框架中的窗口(直接子窗口、子窗口的子窗口等),或者
- B 是使用 window.open 打开的窗口,并且 A 可以更改打开 B 的窗口的位置(因此 B 是由 A 打开的弹出窗口、由 A 打开的弹出窗口或更深的深度),或者里>
- B 不是顶级窗口,但其父窗口、或其父窗口的父窗口,或者在类似的父子关系中,该窗口和 A 的位置具有相同来源
关于javascript - 页面在 chrome 和 FF 中不重定向,但在 IE 中重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18711238/