zoukankan      html  css  js  c++  java
  • 使用jquery.jqprint.js 实现的打印功能,IE9不能进行打印预览、火狐打印空白界面

    提示的内容:SCRIPT438: 对象不支持“ExecWB”属性或方法

    首先解决IE9不能打印预览的问题:

           查找了一大推资料 ,有两种说法:一种是IE的安全性级别太高;一种是需要安装什么   微软web 浏览器,这两种解决方法对于我的问题都没有起到效果。无奈之下:只能将IE9 这个浏览器的版本号获取出来,不进行预览,直接进行信息打印。

    jquery 获取浏览器版本号的方法(需要引入的插件为:jquery-migrate-1.1.0.js):

    [javascript] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. var version = $.browser.version;  

    原以为IE9和IE9的兼容版的版本相同,还纠结这块怎么处理、、、、、、没想到IE9的版本号为(9.0)IE9兼容版的版本号为(7.0),这就好办了。。。。。。没有办法只能再切打印了

    接下来解决火狐不能打印的问题:

    [javascript] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. var doc = $iframe[0].contentWindow.document;   //兼容各种浏览器  
    2. doc.designMode = "on";  
    3.     doc.open();  
    4.     doc.write(data);      
    5.     doc.close();  
    6.     //alert("页面输出的内容为"+doc.body.innerHTML); //doc.body.innerHTML 只有IE支持,其他的浏览器无效    
    7.     doc.designMode ="off";  

    进行获取的数据信息打印,代码如下:

    [javascript] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. $iframe[0].contentWindow.focus();  
    2. $iframe[0].contentWindow.print();  

    打印出来的界面始终为空白,很是无语。经过一番查询,就想着是否数据真正写入iframe  ,于是采用代码:

    [javascript] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. alert(document.all.print_iframe.contentDocument.body.innerHTML)  

    弹出框是空白。最后只好进行重新复制,最终问题解决,赋值的代码如下:

    [javascript] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. document.all.iframe名.contentDocument.body.innerHTML=data;  //data 代表html数据信息  

    亲们:我这是没有办法的办法,路过的如果有什么更好的解决方法,可以给我留言,提前谢谢了哈。。。。。。

  • 相关阅读:
    承载进程 (vshost.exe)
    命令行生成解决方案
    【SQL Server】存储过程的设计概念(3)TSQL的编译和执行过程
    .NET Framework 4
    reflector最新说明
    应用程序域
    vi 编辑器的用法(2013最新整理)
    linux中查看日志的方法
    修改linux主机名的方法介绍
    如何获得桌面上任意一个位置的颜色的 rgb 或者16进制值了
  • 原文地址:https://www.cnblogs.com/lenther2002/p/5089639.html
Copyright © 2011-2022 走看看