var display_setting = "toolbar=yes, location=no, directories=yes, menubar=yes,";
display_setting += "scrollbars=yes, width=750, height=600, left=100, top=25";
var printwin = window.open('', 'printwin', display_setting )
printwin.document.open()
printwin.document.write("Testing")
printwin.document.close()
为什么上面的代码会生成" Permission Denied"在IE9中出错,但在Firefox或Chrome上运行得很好吗?有工作吗?它是一个ExtJS 4.1应用程序,它在单个域的Intranet上运行。它使用ExtJS历史记录功能,这可能是一个因素。
由于
答案 0 :(得分:4)
我已经使用上面的代码进行了测试,在IE中我发现只有一个问题,就是在最后一行你没有声明对象获胜...如果你提供了你的要求的详细信息,那么我会帮助你。我修改了你的代码并在IE中尝试了它的工作正常。
这是测试代码。如果您要关闭窗口,请使用printwin.close()
代替printwin.document.close()
。
<script type="text/javascript">
function openwindowIE(){
var display_setting = "toolbar=yes, location=no, directories=yes, menubar=yes,";
display_setting += "scrollbars=yes, width=750, height=600, left=100, top=25";
var printwin = window.open('', 'printwin', display_setting )
printwin.document.open()
printwin.document.write("Testing")
printwin.document.close()
}
</script>
<input type="button" onclick="openwindowIE()" value="go" />
答案 1 :(得分:1)
如果我没有弄错的话,IE认为,关于:空白(你试图打开,我猜)是一个不安全的网站,因此你不能与之沟通。
如果我没弄错的话,你可以打开任何其他(空的)html文档并写入其中。
答案 2 :(得分:1)
这是一个很长的镜头,但你关闭所有IE窗口并测试了这个?我正在考虑的可能性是,在测试时您可能已经打开了一个名为printwin
的窗口,然后您从基页导航(或者在新选项卡中打开它或尝试打开多个名为{{的窗口) 1}})并再次尝试打开名为printwin
的窗口。 printwin
窗口已经打开,但基页无权访问它,因为它不是页面的原始开启者。
这里的关键点是窗口名称应始终为唯一。
答案 3 :(得分:1)
试试这个:
var display_setting = "toolbar=yes, location=no, directories=yes, menubar=yes,";
display_setting += "scrollbars=yes, width=750, height=600, left=100, top=25";
var printwin = window.open('about:blank', 'printwin', display_setting);
printwin.document.open();
printwin.document.write("Testing");
printwin.close();
答案 4 :(得分:0)
毕竟,事实证明其中一个包含的脚本包含行
document.domain = document.domain;
删除后一切正常。