Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“Javascript window.open”;脚本5:访问被拒绝;用于卸载前的子域_Javascript_Internet Explorer - Fatal编程技术网

“Javascript window.open”;脚本5:访问被拒绝;用于卸载前的子域

“Javascript window.open”;脚本5:访问被拒绝;用于卸载前的子域,javascript,internet-explorer,Javascript,Internet Explorer,IE9上下文中的两个web应用程序设置: david.mydomain.com 及 john.mydomain.com David为John打开了一个新窗口: var popup=window.open('john.mydomain.com') david想知道john什么时候关门然后发送XHR 完成: 像这样设置正确的事件(即) : john.attachEvent(“onbeforeunload”,willClose) 在每个窗口中设置相同的域,如下所示(即): $(document.r

IE9上下文中的两个web应用程序设置:

david.mydomain.com

john.mydomain.com

David为John打开了一个新窗口:

var popup=window.open('john.mydomain.com')

david想知道john什么时候关门然后发送XHR

完成:

  • 像这样设置正确的事件(即) : john.attachEvent(“onbeforeunload”,willClose)

  • 在每个窗口中设置相同的域,如下所示(即): $(document.ready(function(){window.document.domain='mydomain.com';}

  • 并添加已发送的XHR(即): 新建XMLHttpRequest().open(“GET”,“welcome.png”,true).send()

  • 我的代码最终看起来像:

    var willClose=函数(e){
    log('将关闭弹出窗口');
    var xhttp=newXMLHttpRequest();
    xhttp.onreadystatechange=函数(){
    if(this.readyState==4&&this.status==200){
    log('close xhr done');
    }
    };
    open(“GET”,“welcome.png”,true);
    xhttp.send();
    返回true;
    };
    $(文档).ready(函数(){
    window.document.domain='mydomain.com';
    $('#弹出框')。单击(函数(){
    var win=window.open('http://john.mydomain.com/","空白",;
    //KO:win.onbeforeunload=willClose;
    //KO:win.addEventListener(“beforeunload”,willClose);
    win.attachEvent(“onbeforeunload”,willClose);
    });
    });
    
    
    根据文档打开子域中的弹出窗口:window.document.domain:Get(未设置)加载文档的服务器的域名。

    更新到更新版本的jQuery?好了,john不能调用david中定义的函数,因为它们不共享相同的作用域。是否可以让john再次打开指向david的超链接,包括查询字符串或哈希,您可以在david代码中检查的内容,以及其他内容在IE9上工作?或者john正在做不能被欺骗的敏感工作。(比如登录之类)这个错误似乎在jQuery 1.10.2版及以上版本中得到了修复。@evolutionxbox:仍然支持jQuery 1.10.2。