如何更改新窗口的字体系列

时间:2016-09-18 07:55:24

标签: javascript font-family

我想打印div的内容并提供以下解决方案:

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

一切正常,但fontFamily不是Arial,而是(我猜)是默认浏览器的serif字体。

3 个答案:

答案 0 :(得分:2)

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

尝试这些答案

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;}'))

如果没有任何作用,那么类的style属性非常重要,请使用body.addClass =“xx”。

最后将HTML脚本放在HTML的末尾,这似乎是比上述所有操作符更好的解决方案。

答案 1 :(得分:1)

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

http://www.cssfontstack.com/arial

font-family:Arial,Helvetica Neue,Helvetica,sans-serif;

答案 2 :(得分:0)

看看这个。它会暂时转换为您的字体进行打印,然后再次返回其先前的字体样式。

var homeForm = document.getElementById("home");

var contactForm = document.getElementById("contact");
contactForm.addEventListener("submit", function(e) {

    e.preventDefault();
    contactForm.elements.item(0).value = homeForm.elements.item(0).value
    contactForm.elements.item(1).value = homeForm.elements.item(1).value
    contactForm.elements.item(2).value = homeForm.elements.item(2).value
    contactForm.elements.item(3).value = homeForm.elements.item(3).value

}, false);

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