我正在一个项目中工作,我必须在特定场景中重定向错误页面。为此,我创建了Error.aspx页面。现在我正在使用 window.top.location.href =“../ Error.aspx”并生成http://localhost/app_web/Error.aspx 并且它的工作正常,除了一次(显示消息http://xyz/ErrorPage.aspx'不存在。)。所以任何人都可以建议哪个是更好的选择。
由于
答案 0 :(得分:9)
window.parent
指的是当前窗口的父窗口。那个父母可以拥有它自己的父母,它有自己的父母等。
window.top
指的是这个最顶层的窗口;例如window.parent.parent.parent[...]
;
但是,在这种情况下,您可能只想重定向当前窗口,例如
window.location.href = "../Error.aspx";
有关详情,请参阅window.parent
,window.top
和window.location
上的文档。
答案 1 :(得分:9)
top
“优于”parent
,如果您的目的是将您的网页放到最顶层,因为您的网页可能位于框架中,而该框架本身位于框架内。
至于你的相对路径问题,你可能想尝试:
var local = location.pathname.split("/");
local.pop(); // remove the filename
local.pop(); // remove the containing directory
local.push("Error.aspx");
local = location.protocol+"//"+location.hostname+"/"+local.join("/");
top.location.href = local;
答案 2 :(得分:5)
这取决于你想要做什么。
window.parent.location
用于更改父窗口的位置。
window.top.location