我想打印div的内容并提供以下解决方案:
w=window.open();
w.document.body.style.fontFamily = 'Arial';
w.document.write(tosend);
w.print();
w.close();
一切正常,但fontFamily
不是Arial,而是(我猜)是默认浏览器的serif字体。
答案 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做同样的事情,希望如此