Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
window.print()javascript无法在chrome中预览_Javascript_Image_Google Chrome_Printing - Fatal编程技术网

window.print()javascript无法在chrome中预览

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

我有一个lightbox插件,需要额外的选项-打印图像。 因此,我做了一个小JS函数,将该图像打印如下:

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更改-没有产生任何影响,但是在那之后,页面被改变了,如果我按下然后打印,它会显示它应该显示的内容!