问题
在我的应用程序中,我有一个父页面,其中包含一个 iframe 到子目录中的子页面。
parent.html
子目录/child.html
在子页面中,我想使用相对于 parent 的相对 url(“targetPage.html”)设置父页面的位置。
parent.html
targetPage.html (正确的目标)
subdir/child.html (行动的来源)
subdir/targetPage.html (不正确的)
从孩子的内心,我可以说:
window.parent.location = "targetPage.html";
...但是当然,这(错误地)将父页面导航到“subdir/targetPage.html”,因为代码在子上下文中运行。
在父级调用代码无济于事:
window.parent.myFunctionToNavigateToTarget(); // defined in parent to navigate to "targetPage.html"
...具有相同的效果,因为父函数正在子上下文中运行。
问题
有没有一种优雅的方法可以使用相对 URL 设置另一个窗口的位置,以使其相对于该窗口进行解释?