首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

JS实现打印功能解决方案

2013-12-19 
JS实现打印功能以下是在网上找到的JS代码,总是提示:Internet Explorer 已经组织此站点以不安全的方式使用A

JS实现打印功能
以下是在网上找到的JS代码,总是提示:
Internet Explorer 已经组织此站点以不安全的方式使用ActiveX控件。因此,此页可能显示不正确。

请高手指点!!!


        var hkey_root, hkey_path, hkey_key
        hkey_root = "HKEY_CURRENT_USER"
        hkey_path = "file://software//Microsoft//Internet Explorer\\PageSetup\"
        //设置网页打印的页眉页脚为空 
        function pagesetup_null() {
            try {
                var RegWsh = new ActiveXObject("WScript.Shell")
                hkey_key = "header"
                RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
                hkey_key = "footer"
                RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
            } catch (e) { }
        }
        function setdivhidden(id) {//把指定id以外的层统统隐藏 
            var divs = document.getElementsByTagName("DIV");
            for (var i = 0; i < divs.length; i++) {
                if (divs.item(i).id != id)
                    divs.item(i).style.display = "none";
            }
        }
        function setdivvisible(id) {//把指定id以外的层统统显示 
            var divs = document.getElementsByTagName("DIV");
            for (var i = 0; i < divs.length; i++) {
                if (divs.item(i).id != id)
                    divs.item(i).style.display = "block";
            }
        }
        function printpr() //预览函数 
        {
            //pagesetup_null(); //预览之前去掉页眉,页脚 
            setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素 
            var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
            //var WebBrowser = '<object id=webbrowser width=0 height=0 classid=clsid:8856fArray61-340a-11d0-aArray6b-00c04fd705a2></object>';
            document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件) 
            
            WebBrowser1.ExecWB(7, 1); //打印预览 
            WebBrowser1.outerHTML = null; //从代码中清除插入的html代码 
            pagesetup_default(); //预览结束后页眉页脚恢复默认值 
            setdivvisible("div1"); //预览结束后显示按钮 
        }
        function print() //打印函数 
        {
            pagesetup_null(); //打印之前去掉页眉,页脚 
            setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素 
            var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
            document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件) 
            WebBrowser1.ExecWB(6, 1); //打印 


            WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码 
            pagesetup_default(); //打印结束后页眉页脚恢复默认值 
            setdivvisible("div1"); //打印结束后显示按钮 
        } 


前台界面

<div id="div0">
        <table>
            <tr>
                <td>
                    <input type="hidden" value="导出Excel" onclick="method1('report');"/>
                    <asp:Button ID="Button1" runat="server"  Text="导出Excel" onclick="IbtnXls_Click"/>
                </td>
                <td><input type="button" value="打印预览" onclick="printpr()"></td>
                <td><input type="button" onclick="print()" value="打印"></td>
            </tr>
        </table>
    </div>
<div id="div1">
界面输出内容
</div>

[解决办法]
打开IE选x项工具/Internet选项/安全--->自定义级别
找到下边的
ActiveX控件自动提示 选择启用
对没有标记为安全的ActiveX控件进行初始化XXXXXX
选择启用或者提示
下载未签名的ActiveX控件
选择 启用
运行ActiveX控件和插件
选择启用或者提示 

热点排行