Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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 IE9中远程文件的window.print()存在问题_Javascript_Html_Internet Explorer_Printing_Object Tag - Fatal编程技术网

Javascript IE9中远程文件的window.print()存在问题

Javascript IE9中远程文件的window.print()存在问题,javascript,html,internet-explorer,printing,object-tag,Javascript,Html,Internet Explorer,Printing,Object Tag,我有一个HTML,它在对象标记中嵌入了一个SVG文件 此文件通过文件协议从共享远程位置访问,并在IE(IE9或最新版本)上访问 当按下键“p”时,我已经更改了触发window.print(),还可以执行ctrl+p,这将显示打印对话框 我观察到,在上述两种情况下,打印的质量有很大的不同(文件在IE9上远程访问) 我们可以打印成PDF进行检查 有人能解释一下这两者的区别吗?我应该怎么做才能使window.print()的工作方式与执行ctrl+p时的工作方式相同 <!-- DOCTY

我有一个HTML,它在对象标记中嵌入了一个SVG文件

此文件通过文件协议从共享远程位置访问,并在IE(IE9或最新版本)上访问

当按下键“p”时,我已经更改了触发
window.print()
,还可以执行
ctrl+p
,这将显示打印对话框

我观察到,在上述两种情况下,打印的质量有很大的不同(文件在IE9上远程访问)

我们可以打印成PDF进行检查

有人能解释一下这两者的区别吗?我应该怎么做才能使
window.print()
的工作方式与执行
ctrl+p
时的工作方式相同

    <!-- DOCTYPE HTML -->
<HTML>
<HEAD><TITLE>Print</TITLE>
<META content="text/html; charset=UTF-8" http-equiv=Content-Type>
<SCRIPT type=text/javascript src="jquery.js"></SCRIPT>
<SCRIPT type=text/javascript>
        function printProcess() {
        jQuery(document).bind("keyup", function(e){    
                if(e.keyCode == 80){
                    p();
                }
            });
        }       
        function p(){
        window.print();
        }
    </SCRIPT>
</HEAD>
<BODY style="WIDTH: 100%;HEIGHT: 100%" onload="printProcess();" >
    <DIV style="HEIGHT: 100%" id="printableDiv" >
        <OBJECT data="test.svg" width="100%" type="image/svg+xml" height="100%">
        </OBJECT>
    </DIV>
</BODY>
</HTML>

印刷品
函数printProcess(){
jQuery(document).bind(“keyup”,函数(e){
如果(e.keyCode==80){
p();
}
});
}       
函数p(){
window.print();
}

使用以下功能:

function print_me(idx)
{
    var browser = navigator.userAgent;
    if(browser.indexOf('MSIE')>=0){
    document.execCommand('print', false, null);
    }
    else{
    window.print();
    }

}//end func...

基本上,我们需要在MSIE上稍微不同地调用print方法…

对于感兴趣的ppl,下面是答案。通过添加

<META http-equiv="X-UA-Compatible" content="IE=EmulateIE9">


对于HTML,多亏了Vitor Canova,我不知道它是否有帮助,但使用HTML doctype
并尝试使用开发人员工具(F12)验证您是否使用最新的标准件而不是怪癖模式。如果您处于怪癖模式,请使用
X-UA-Compatible
强制使用Edge IE。谢谢@VitorCanova,顺便说一句,您知道有任何资源/文档全面阐述了浏览器的打印功能,取决于哪些因素等。,