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 次 |
最近记录: |