Ega*_*ian 86 javascript asp.net-mvc
谁能告诉我之间的差异window.location.href和top.location.href?
以及在哪里使用哪一个.
在mvc中调用ajax之后重定向哪一个会更好?
jos*_*736 118
window.location.href 返回当前页面的位置.
top.location.href(它的别名window.top.location.href)返回窗口层次结构中最顶层窗口的位置.如果窗口没有父窗口,top则是对自身的引用(换句话说,window=== 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>');
Run Code Online (Sandbox Code Playgroud)
生成的警报将具有test.html的完整路径 - 不是关于:blank,这window.location.href将返回.
要回答有关重定向的问题,请继续 window.location.assign(url);
top指的是包含所有当前帧(其余窗口的父亲)的窗口对象.window是目前的window.
http://www.howtocreate.co.uk/tutorials/javascript/browserinspecific
所以top.location.href可以包含包含所有帧的"主"页面链接,而window.location.href只包含"当前"页面链接.
第一个项目在您的历史记录中添加了一个项目,您可以(或应该能够)单击"返回"并返回当前页面.
第二个替换当前的历史记录项,因此您无法返回它.
见window.location:
assign(url):在提供的URL处加载文档.
replace(url):将当前文档替换为提供的URL处的文档.与该assign()方法的不同之处在于,使用replace()当前页面后将不会保存在会话历史记录中,这意味着用户将无法使用"后退"按钮导航到该页面.
window.location.href = url;
Run Code Online (Sandbox Code Playgroud)
受到青睐:
window.location = url;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
208495 次 |
| 最近记录: |