Javascript 页面脚本的打印部分在IE中运行良好,但在Firefox中存在问题

Javascript 页面脚本的打印部分在IE中运行良好,但在Firefox中存在问题,javascript,firefox,printing,printing-web-page,Javascript,Firefox,Printing,Printing Web Page,在我努力寻找在WordPress中只打印一个页面区域的解决方案的过程中,我遇到了一个非常好的小脚本,它完美地满足了我的需要。。但仅限于IE浏览器。出于某种原因,Firefox不想玩球 剧本是: function printURL(sHref) { if(document.getElementById && document.all && sHref) { if(!self.oPrintElm) { var aHead

在我努力寻找在WordPress中只打印一个页面区域的解决方案的过程中,我遇到了一个非常好的小脚本,它完美地满足了我的需要。。但仅限于IE浏览器。出于某种原因,Firefox不想玩球

剧本是:

function printURL(sHref) {
    if(document.getElementById && document.all && sHref) {
        if(!self.oPrintElm) {
            var aHeads = document.getElementsByTagName('HEAD');
            if(!aHeads || !aHeads.length)
                return false;
            if(!self.oPrintElm)
                self.oPrintElm = document.createElement('LINK');
            self.oPrintElm.rel = 'alternate';
            self.oPrintElm.media = 'print';
            aHeads[0].appendChild(self.oPrintElm);
        }

        self.oPrintElm.href = sHref;
        self.focus();
        self.print();

        return true;
    }
    else 
        return false;
}
召集人:

<a onclick="printURL(this.href); return false;" href="http://printstuff.com" target="_blank">print</a>

这是在IE中工作,但不是FF。我对JavaScript了解不多,如果您能告诉我您看到的任何东西是否让Firefox头疼,我将不胜感激

顺便说一句,我必须使用javascript,而不是使用打印CSS文件,因为我要打印的区域(优惠券)是在一个表中设置的,该表显然是在WordPress主题的容器和包装器div中设置的,这使得很难将其分离出来进行打印


我还尝试了iframe打印,我在这方面取得了一些进展,但IE给我带来了一些问题(rolleyes)。所以上面的这个脚本对我来说似乎是一个很好的答案,除了当我点击“打印”时Firefox什么都不做。非常感谢。

文档。除IE外,所有浏览器中的所有
测试均为false。因此,您的代码仅在IE中运行
self.print()
行。

确定。谢谢回到绘图板。只需从
if
中删除
和&document。所有
都可以在Firefox中使用。