Javascript window.print不适用于firefox

Javascript window.print不适用于firefox,javascript,html,Javascript,Html,我不太熟悉不适用于firefox的JS函数,所以我在这里发帖是想问你们我的代码有什么问题。适用于除firefox以外的任何其他浏览器 var headstr = "<html><head><title></title></head><body>"; var footstr = "</body>"; var newstr = document.all.item("printable").innerHTML; v

我不太熟悉不适用于firefox的JS函数,所以我在这里发帖是想问你们我的代码有什么问题。适用于除firefox以外的任何其他浏览器

var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>"; 
var newstr = document.all.item("printable").innerHTML; 
var oldstr = document.body.innerHTML; 
document.body.innerHTML = headstr+newstr+footstr; 
window.print(); 
document.body.innerHTML = oldstr; 
return false; 
var headstr=”“;
var footstr=“”;
var newstr=document.all.item(“可打印”).innerHTML;
var oldstr=document.body.innerHTML;
document.body.innerHTML=headstr+newstr+footstr;
window.print();
document.body.innerHTML=oldstr;
返回false;
我读了一些书,得到的只是那个文档。focus不适用于firefox,但我没有使用这行代码,所以我有点不明白是什么导致了我的问题。谢谢大家


结果是它什么也不做,只是为了以防万一而尝试发出警报,但效果很好(当然对所有代码都进行了注释,只留下了警报)。

Firefox不会打印任何内容,因为会抛出早期错误<代码>文档。Firefox中所有的
都是
未定义的
。打开控制台后,应在
var newstr=…
附近看到以下错误消息:

TypeError: document.all is undefined

到底发生了什么?错误?什么都没有?很抱歉,无法单击按钮,尝试更改代码以发出警报,但成功了。为此,为什么不使用CSS(
@media print
)而不是JavaScript?不要使用document.all.item。你从哪里得到的代码?除了那个div,你可以隐藏所有内容。看看这个页面的打印预览-它看起来与常规视图非常不同。我知道,我没有安装firebug,所以我无法看到它,但是firefox不支持document.all.item?@magiciam
document.all
未定义的。显然,
方法也不存在。仅供参考:Firefox有一个内置控制台,按Ctrl+Shift+J。我明白了,谢谢你。您是否有任何想法作为该功能的替代方案?感谢you@magicianIam(返回一个数组,如
NodeList
object)或者我刚刚读到一篇文章,上面说不要使用document.all。lol。我将尝试使用Sign document.getElementByID()。谢谢