Javascript IE 6/7访问被拒绝尝试访问弹出窗口。文档

Javascript IE 6/7访问被拒绝尝试访问弹出窗口。文档,javascript,internet-explorer,dom,Javascript,Internet Explorer,Dom,我正在使用window.open()创建一个没有URL源的弹出窗口。我不会给它一个URL,因为很快我就会想给它发一个表单。但是,在此期间,我想显示一条简短的“Now loading…”消息,以便用户在表单发布所需的2-3秒内不会看到空白页面 我尝试添加只写入弹出窗口文档的Javascript。这在Firefox和IE8中非常有效,但在IE6和IE7中出现拒绝访问消息时失败。有人知道解决这个问题的方法吗?我希望能够a)将一些HTML硬编码到window.open(),b)学习如何在这种情况下更新弹

我正在使用window.open()创建一个没有URL源的弹出窗口。我不会给它一个URL,因为很快我就会想给它发一个表单。但是,在此期间,我想显示一条简短的“Now loading…”消息,以便用户在表单发布所需的2-3秒内不会看到空白页面

我尝试添加只写入弹出窗口文档的Javascript。这在Firefox和IE8中非常有效,但在IE6和IE7中出现拒绝访问消息时失败。有人知道解决这个问题的方法吗?我希望能够a)将一些HTML硬编码到window.open(),b)学习如何在这种情况下更新弹出窗口的DOM,或者c)听到任何人能想到的东西

下面是我用来生成窗口的代码:

    var wref = window.open("", winName, "toolbar=1,resizable=1,menubar=1,location=1,status=1,scrollbars=1,width=800,height=600");
    if (wref != null) {
        try {wref.opener = self;} catch (exc) {}

        // while we wait for the handoff form post to go through, display a simple wait message
        $j(wref.document.body).html('Now loading …'); // EPIC FAIL
        wref.focus();

IE认为“about:blank”是一个不安全的URL,它不会让你和它交谈。我会创建一个“正在加载…”静态HTML文件并打开它。

还要注意,您在IE中提供的winName不能有空格。。。如果是这样,它将失败。


<a href="#" onclick="return test();">Test</a>
<script type="text/javascript">
function test() {
    window.open('javascript:opener.write(window);', '_name', 'width=200,height=200');
}
function write(w) {
    w.document.write("Hello, World.");
}
</script>
功能测试(){ window.open('javascript:opener.write(window);','u name','width=200,height=200'); } 函数写入(w){ w、 写下(“你好,世界”); }
适用于IE 6、7和8、Opera 9.6、Firefox 2和3。 不适用于Safari for Windows 3&4或Google Chrome

当它工作时,会在位置框中产生一个非常难看的URL


如果上面列出的浏览器支持是可以接受的,您可以使用提供的解决方案,否则我会按照David所说的做,并且
window.open('Loading.htm')
其中
Loading.htm
包含您想要显示的任何内容(您可能应该保持它的轻量级,否则加载和呈现的时间可能比表单发布的时间长)。

另一种解决方法是在站点上打开一个空的“blank.htm”文件,然后执行document.open()来访问它