Document.Domain疯狂

Got*_*tys 5 javascript refresh cross-domain

我花了一个月的时间在这个问题上研究互联网,但还没有找到答案.我的代码执行以下操作(所有Javascript).

假设我在mydomain.com上有一个test.html

  1. 头部的第一件事我设置了document.domain ='mydomain.com';

  2. 然后,动态创建iframe,将src设置为"subdomain.mydomain.com/test2.html"

  3. 将iframe附加到DOM

  4. subdomain.mydomain.com/test2.html:头部的第一件事:document.domain ='mydomain.com';

  5. test2.html有on_dom_ready事件,尝试通过window.parent与父进行通信

适用于所有浏览器.甚至在IE6中!唯一的问题是:当我在IE中刷新页面时,我得到访问被拒绝错误.

我可以摆脱这个错误的唯一方法是在调用window.parent之前等待12秒.甚至没有5秒的帮助,我真的要等12秒.对我来说完全是无稽之谈.

有人有这方面的经验吗?

fur*_*ive 2

这是因为父框架中的onload事件还没有触发,所以DOM还没有完全构建。这是一个 kludge,它将每隔一段时间扫描一个 div,直到它出现,而不会崩溃:

var minmax_SCANDELAY= 500;
var minmax_scanner;

function minmax_scan() {
    if (!window.parent.document.getElementById('content')) return;
    window.clearInterval(minmax_scanner);

    //replace following function call with your own.
    doYourMagicHere();
}

minmax_scan();
minmax_scanner= window.setInterval(minmax_scan, minmax_SCANDELAY);
Run Code Online (Sandbox Code Playgroud)