2013-10-08 44 views
2

:编辑开始: 我找到了原因,但还没有解决方案。我在原来的网页我有以下行:IE8:document.write打开窗口给我“访问被拒绝”

document.domain = "<mydomain>"; 

这似乎是罪魁祸首为“MYDOMAIN”是从我的本地服务器不同。现在将尝试找到解决方案。

:编辑结束:

我有这个js在我的代码:

function prnt() { 
    var printWindow = window.open('', 'Print', 'width=1000,height=700'); 

    printWindow.document.open(); 
    printWindow.document.write('<html xmlns="http://www.w3.org/1999/xhtml">'); 
    printWindow.document.write(...); 
    printWindow.document.write('</html>'); 

    printWindow.document.close(); 
    printWindow.focus(); 

    printWindow.print(); 
    printWindow.close(); 
} 

不言而喻,它的工作原理是在Chrome浏览器的魅力(一如既往)。问题是IE8我的第一次尝试拨打“访问被拒绝”

printWindow.document.write(...); 

任何人都可以帮我在这里吗?

我试图与

var printWindow = window.open('**#**', 'Print', 'width=1000,height=700'); 

,我不

printWindow.document.open(); 

人不可貌相尝试... :-(

+0

它确实在我的电脑上工作。您可以在您的文档和浏览器模式下发布控制台吗? –

+0

我得到的唯一错误是“访问被拒绝。”。从调试我可以看到,只要我尝试访问printWindow.document,我得到的错误。在浏览器模式方面,我不确定你的意思。我的网页的OnPreInit(...)我有这样的:Response.AddHeader(“X-UA-Compatible”,“IE = Edge”);.这是非常多的。 – CJe

+0

运行在哪个安全区域? (右键单击页面并选择属性) – EricLaw

回答

-1

它为我所做的工作:

enter image description here

有了这个代码:(和你的一样)

var printWindow = window.open('', 'Print', 'width=1000,height=700'); 

    printWindow.document.open(); 
    printWindow.document.write('<html xmlns="http://www.w3.org/1999/xhtml">'); 
    printWindow.document.write('<body>aaaaaaaa</body>'); 
    printWindow.document.write('</html>'); 

    printWindow.document.close(); 
    printWindow.focus(); 

    // printWindow.print(); 
    // printWindow.close(); 

(纯IE8)

+1

现在很奇怪。我为atm工作的客户端是一家银行,经历了各种各样的环节,以防止在IE8中使用选项卡,并强制启用兼容性视图选项。这可能会导致我看到的行为? – CJe

+0

问:你真的使用过这个名字吗?window.open('**#**'??请尝试一个普通的字符串(仅用于测试),我将在后面以兼容模式进行测试 –

+0

No no :-) First我试着用''然后用'#'。后者只是重新加载我来自的网页。我只是想突出英镑符号:-) – CJe

0

我来自同一个问题的困扰,这个问题是Cross Frame Scripting确保window.open('//'+window.location.hostname..要使它发挥作用。