window.print()没有'不起作用
window.print() doesn't work
我试图使用按钮打印文档,但每次尝试按钮都不起作用。
var printContents = document.getElementById("test").innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
当这不起作用时,我打开控制台并尝试,但后来我得到了这个
类型错误:无法读取null的属性"innerHTML"
我尝试创建一个空的html页面,上面除了一个短语和一个运行代码的按钮之外什么都没有。
function print(){
window.print();
}
但这也无济于事。
edit:难道没有一种只使用JavaScript的方法吗?这是我为学校项目做的最后一件事,但我不知道Jquery:s,老师说用Javascript是可能的。
看起来你在文档准备好之前就访问了元素——你能包括像jQuery这样的东西吗?
请参见此处:http://jsbin.com/edeNIPE/1/
但是,这不是打印内容的最佳方式,您是否考虑过使用打印样式表(http://coding.smashingmagazine.com/2011/11/24/how-to-set-up-a-print-style-sheet/)允许您隐藏显示元素?
@media print {
.some-class{
display:none;
}
}
根据请求,如果您不想使用JQuery:http://jsbin.com/edeNIPE/1/
function init(){
var printContents = document.getElementById("test").innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
};
window.onLoad = init();
这里试试这个:好的,这里是:Fiddle
HTML
<button onclick="myFunction()">Click me</button>
<div id="test">This is supposed to print</div>
CSS
#test
{
display:none;
}
@media print {
#test
{
display:block;
}
}
JS-虽然我不确定你为什么要尝试获取innerHTML-你应该调用函数并执行window.print();
-应该这样做。
function myFunction ()
{
var printContents = document.getElementById("test").innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
在尝试访问页面上的任何元素之前,您需要等待文档准备就绪。
SO和其他地方有很多关于这个主题的页面。这里有一个:
$(document).ready等价物,不带jQuery
相关文章:
- 我的AngularJS表达式没有'不起作用
- jpm的默认Firefox路径没有'不起作用
- pageMod没有'似乎不起作用
- jQuery.remove(Selector)没有'不起作用
- Phonegap 3.7.0手电筒插件没有'不起作用
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- javascript选项卡没有'不起作用
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 手机摄像头没有'不起作用
- AngularJS没有'不起作用
- I'我不知道为什么我的代码没有'不起作用
- -webkit转换在JavaScript旋转动画中不起作用(没有JQuery)
- 角度 UI 类型提前不起作用 - 没有错误
- Jquery 谷歌自动完成不起作用 - 没有错误
- 在iframe中编写一些html和js,在IE中不起作用:没有定义$
- Peerjs不起作用.没有错误
- Twitter Bootstrap的下拉菜单不起作用——没有展开
- jQuery在任何浏览器中都不起作用(没有任何效果),但它在Codepen中工作
- 文档就绪不起作用.没有控制台错误,并且包括jQuery