我在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中运行finr但不在chrome和FF中,但也没有给出任何错误
答案 0 :(得分:3)
最新浏览器strict rules并且仅在以下情况下不允许更改:
答案 1 :(得分:1)
只尝试这一点,不需要top。
window.location.href = new_url;
答案 2 :(得分:1)
是的,你可以为你的案例使用window.location.href。
但我想解释两者之间的区别。
window.location.href返回当前页面的位置。
top.location.href(window.top.location.href的别名)返回窗口层次结构中最顶层窗口的位置。如果窗口没有父窗口,则top是对自身的引用(换句话说,窗口=== window.top)。
top在处理框架和处理由其他页面打开的窗口时都很有用。例如,如果您有一个名为test.html的页面,其中包含以下脚本:
var newWin=window.open('about:blank','test','width=100,height=100');
newWin.document.write('<script>alert(top.location.href);</script>');
生成的警报将包含test.html的完整路径 - 而不是about:blank,这是window.location.href将返回的内容。
干杯!!!
答案 3 :(得分:1)
我刚刚添加了
window.event.returnValue = false;
在重定向之前,它在所有浏览器中都有效