找回密码
 立即注册

QQ登录

只需一步,快速开始

568506343

初级会员

25

主题

54

帖子

261

积分

初级会员

积分
261

微信认证勋章

568506343
初级会员   /  发表于:2018-2-9 15:28  /   查看:3194  /  回复:4
你好:
       之前发帖地址:http://gcdn.gcpowertools.com.cn/ ... id=44578&extra=
       目前问题如下:谷歌浏览器调用打印放法,会在生成img图片后调用js重写的打印放法。但是IE仍然调用浏览器自带的打印,是需要特殊处理吗?

4 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-9 17:47:02
推荐
在IE上,内部调用的是execCommand("print")方法来实现IE打印的,因为window.print方法在IE上有些问题。IE您可以试一下下面的方式
$("#click").click(function () {
            spread.print();

            var iframe = $("iframe")[0];
            iframe.onload = function () {
                var doc = iframe.contentWindow.document;
                var oldFun = doc.execCommand;
                doc.execCommand = function (command) {
                    if (command === "print") {
                        var imgs = $(this).find("img");
                        for (var i = 0; i < imgs.length; i++) {
                            img = imgs[i].src;
                        }
                    } else {
                        oldFun.apply(this, arguments);
                    }
                }
                iframe.contentWindow.print = function () {
                    var imgs = $(window.frames[0].document).find("img");
                    for (var i = 0; i < imgs.length; i++) {
                        img = imgs[i].src;
                    }

                }
            }
        });
    };
回复 使用道具 举报
568506343
初级会员   /  发表于:2018-2-11 11:09:32
板凳
你好,附件是我们这边的测试demo,IE浏览器下,调用打印的时候JS报错,可以帮忙查看下原因吗?

spreadjs_print.rar

597.23 KB, 下载次数: 93

回复 使用道具 举报
568506343
初级会员   /  发表于:2018-2-11 13:33:51
地板
解决了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-2-11 15:23:35
5#
那就结帖了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部