如何更改新字体系列 window

how to change font family for new window

我想打印一个div的内容,有如下解决方法:

w=window.open();
w.document.body.style.fontFamily = 'Arial';
w.document.write(tosend);
w.print();
w.close();

一切正常,除了 fontFamily 不是 Arial,而是(我想)默认浏览器的衬线字体。

您可能需要仔细检查: 1)您尝试使用的真实字体系列参考是什么。 2) 是否默认提供(在许多情况下,您必须向站点添加字体定义资源)

http://www.cssfontstack.com/arial

字体系列:Arial、Helvetica Neue、Helvetica、sans-serif;

我猜你需要一个重要的 属性 来为你的元素设置优先级

试试这些答案

w.document.body.setAttribute('style', 'font-family:Arial !important');

其他

w.document.body.style.cssText = 'font-family:Arial !important';

下面这个东西在 IE 中可能不起作用:

w.document.body.style.setProperty("font-family", "Arial", "important");

或者您可以附加内联样式

w.document.body.appendChild(document.createTextNode('td.EvenRow a {font-family:Arial !important;}'))

如果没有任何效果,请使用 class 风格 属性 作为重要并使用 body.addClass="xx".

终于在 HTML 的末尾添加了您的 java 脚本,这似乎是比上述所有操作最好的解决方案。

看看 this.It 会暂时转换为您的打印字体,然后再次 return 转换为以前的字体样式。

<script>
        function print_font()
        {
            var content = document.getElementById('Pcontent').innerHTML;
            var win = window.open();
            win.document.write(content);
            win.document.body.style.fontFamily="Impact, Charcoal, sans-serif";  
            win.print(); 

        }
    </script>

 <div id="Pcontent">

        <p>Print Me according to your font choice... </p>
    </div>
    <br>
    <br>
    <a href="#" onClick="print_font()" >Print</a>

** 对 arial 做同样的事情希望如此