window.print()javascript无法在chrome中预览
我有一个lightbox插件,需要额外的选项-打印图像。 因此,我做了一个小JS函数,将该图像打印如下:window.print()javascript无法在chrome中预览,javascript,image,google-chrome,printing,Javascript,Image,Google Chrome,Printing,我有一个lightbox插件,需要额外的选项-打印图像。 因此,我做了一个小JS函数,将该图像打印如下: var headstr="<!DOCUMENT html><html xmlns='http://www.w3.org/1999/xhtml'><head><title></title></head><body>"; var footstr="</body>"; var newstr="<i
var headstr="<!DOCUMENT html><html xmlns='http://www.w3.org/1999/xhtml'><head><title></title></head><body>";
var footstr="</body>";
var newstr="<img src=\"[img-location]\" alt='courses' />";
document.body.innerHTML=headstr+newstr+footstr;
window.print();
window.location.reload();
var headstr=”“;
var footstr=“”;
var newstr=“”;
document.body.innerHTML=headstr+newstr+footstr;
window.print();
window.location.reload();
问题是,当用户按下打印按钮时,在chrome中会打开一个新窗口(chrome打印页面),其中显示-。在firefox和IE8中,它工作得很好…我不确定这是否是问题所在,但您正在创建无效的html。首先,您不关闭
标记。此外,您在体内放置了html
和head
标记。我不知道这是否是导致您失败的原因,但如果使用method=“post”(即有史以来的每个asp.net页面)从表单中调用window.print(),则Chrome print preview会自动关闭
解决方法是添加returnfalse;在window.print()之后,这样页面就不会回发
<html>
<head>
</head>
<body>
<form method="post" action="test.html">
<p>This is only a test. Had this been a real emergency....</p>
<!--This doesn't work -->
<!-- <input type="submit" onclick="JavaScript:window.print();">-->
<!--But this does -->
<input type="submit" onclick="JavaScript:window.print();return false;">
</form>
</body>
</html>
这只是一个测试。这真的是紧急情况吗
我添加了结束html标记,但有什么问题:-aka-你的第二句话。顺便说一句,仅仅是关闭html仍然没有帮助。对于整个页面来说,这种结构很好,但是您正在将其插入正文document.body.innerHTML
。所以你已经有了
,你在里面放了另一个等等。
哦,对了,我能做document=headstr+newstr+footstr吗?我想要它,因为它还删除了现有的标题内容。这个问题似乎回答了:我也丢失了关闭img标记,但chrome仍然显示相同的页面,当我去查看页面预览源代码时-看起来像我做的javascript更改-没有产生任何影响,但是在那之后,页面被改变了,如果我按下然后打印,它会显示它应该显示的内容!