Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Image 将动态背景图像转换为<;img src=”等&引用&燃气轮机;印刷用_Image_Url_Printing Web Page - Fatal编程技术网

Image 将动态背景图像转换为<;img src=”等&引用&燃气轮机;印刷用

Image 将动态背景图像转换为<;img src=”等&引用&燃气轮机;印刷用,image,url,printing-web-page,Image,Url,Printing Web Page,我正在尝试将动态生成的内联样式背景图像:url(“xyz”)转换为img src=“xyx”,该图像将在新选项卡/窗口中打开以进行打印。我可以将url内联图像拉入img src,但当单击打印按钮时,会打开2页;在父窗口中包含url文本和图像的页面。页面也会不断刷新 函数用于将url内联样式转换为外部窗口中的图像以进行打印,并使用内联样式BG和打印按钮转换div id: 函数printImg(){ var printWin=window.open(); var-content=“”; printW

我正在尝试将动态生成的内联样式背景图像:url(“xyz”)转换为img src=“xyx”,该图像将在新选项卡/窗口中打开以进行打印。我可以将url内联图像拉入img src,但当单击打印按钮时,会打开2页;在父窗口中包含url文本和图像的页面。页面也会不断刷新

函数用于将url内联样式转换为外部窗口中的图像以进行打印,并使用内联样式BG和打印按钮转换div id:
函数printImg(){
var printWin=window.open();
var-content=“”;
printWin.document.write(src=document.getElementById(“lbImage”).style.backgroundImage);
src=src.replace('url(','');
src=src.replace(“”,“”);
内容+=文件写入(“”);
printWin.document.close();
printWin.focus();
printWin.print(内容);
printWin.close();
}

在FireFox、IE和Chrome中删除url文本并正确打印的完整修复程序:

函数printImg(){
var printWin=window.open();
var src=src;
printWin.document.write(src=document.getElementById(“lbImage”).style.backgroundImage);
src=src.replace('url(','');
src=src.replace('example.com','');
src=src.replace('png'),'png');
src=src.replace('jpg'),'jpg');
src=src.replace('),“”);
printWin.document.write(“”);
printWin.document.write(“”);
printWin.document.write(“”);
printWin.document.close();
printWin.focus();
printWin.print();
//printWin.close();
//启用此行以在打印/取消后关闭窗口

}
当我意识到这一点时,我发现解决方案非常简单!只要改变一下:

printWin.onload = function() { printWin.print();}

我现在可以让它在IE和FireFox中正常工作,尽管我仍然有在Chrome中显示图像的问题。Chrome在img标签的末尾添加了一个额外的“图标”,这就是为什么它没有显示的原因:您建议的解决方案有效,但也会抛出一个确认对话框,以防止在使用多个图像时在FireFox中弹出窗口。伟大的修复顺便说一句!