我有以下网站结构,其中包含一个包含 page2.html 的iframe的外页( page1.html ):
/mysite/page1.html
/mysite/folder1/page2.html
function myMethod(callback) {
var btn = document.body.appendChild(document.createElement('button'));
btn.innerHTML = 'Resolve';
btn.addEventListener('click', function () {
callback();
});
}
myMethod()
top.myMethod(function () {
document.location.replace('page2.html');
});
然而,当重定向解析为/mysite/page2.html
时,会产生404。
在document.location
之前的回调中调试replace()
是指正确的页面( page2.html )。
1。为什么调用replace()
会将基本网址解析为
父页面位置,而不是定义回调的位置?
2。如何调用replace()
来尊重它的位置
定义吗
注: 给出的示例显然是真实问题的简化版本。此外,如果有人可以建议使用像jsFiddle这样的东西来复制网站结构,我会尝试提供一个具体的例子。