document.location.replace回调内的基本URL

时间:2014-08-28 16:23:53

标签: javascript jquery callback jquery-callback

我有以下网站结构,其中包含一个包含 page2.html 的iframe的外页( page1.html ):

/mysite/page1.html            
/mysite/folder1/page2.html
  • page1.html 包含一个接受回调的功能

function myMethod(callback) {

    var btn = document.body.appendChild(document.createElement('button'));
    btn.innerHTML = 'Resolve';

    btn.addEventListener('click', function () {
        callback();
    });   
}
  • page2.html 调用主页以调用myMethod()

top.myMethod(function () {
    document.location.replace('page2.html');
}); 

然而,当重定向解析为/mysite/page2.html时,会产生404。

document.location之前的回调中调试replace()是指正确的页面( page2.html )。

1。为什么调用replace()会将基本网址解析为     父页面位置,而不是定义回调的位置?

2。如何调用replace()来尊重它的位置     定义吗

注: 给出的示例显然是真实问题的简化版本。此外,如果有人可以建议使用像jsFiddle这样的东西来复制网站结构,我会尝试提供一个具体的例子。

0 个答案:

没有答案