从浏览器镶边打印网页时缺少 HTML 图像
HTML images are missing while printing a webpage from browser chrome
我也在使用javascript代码来打印带有一些文本的图像。我在我的 html 页面中使用了一个名为"divPrintArea"的div 区域。该div 的内容将通过调用 javascript 函数进行打印。
从除Chrome(即最新版本的IE,Firefox,opera,safari)以外的所有浏览器打印时,图像都很好。但是在Chrome的情况下,它有时会丢失。
我的第二个问题是我无法将默认页面布局设置为"横向"。你有什么线索吗?请详细给出一些解决方案。蒂亚。
function printdata() {
var printHtml = "";
printHtml = printHtml + "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>";
printHtml = printHtml + "<html xmlns='http://www.w3.org/1999/xhtml'>";
printHtml = printHtml + "<head>";
printHtml = printHtml + "<meta http-equiv='cache-control' content='no-cache, must-revalidate'>";
printHtml = printHtml + "<meta http-equiv='refresh' content='0; http://www.MyWebsite.com/' />";
printHtml = printHtml + "<meta http-equiv='expires' content='-1'>";
printHtml = printHtml + "<meta http-equiv='pragma' content='no-cache, must-revalidate'>";
printHtml = printHtml + "<title>www.MyWebsite.com</title>";
printHtml = printHtml + "<style type='"text/css'" media='"print'">td{border:0px solid #000; padding:2px 5px;}";
printHtml = printHtml + "body{background:#fff;";
printHtml = printHtml + "width='100%';";
printHtml = printHtml + "height='100%';";
printHtml = printHtml + "filter:progid:DXImageTransform.Microsoft.BasicImage(Rotation=3);";
printHtml = printHtml + "}";
printHtml = printHtml + "</style></head>";
printHtml = printHtml + "<body>";
printHtml = printHtml + "<div style='"text-align:left; border-bottom:1px dashed #2D86C5; border-top:1px dashed #2D86C5; font-family:'GillSansMTRegular', Arial;'">";
printHtml = printHtml + document.getElementById("divPrintArea").innerHTML;
printHtml = printHtml + "</div>";
printHtml = printHtml + "</body>";
printHtml = printHtml + "</html>";
win = window.open("http://www.MyWebsite.com/", "My");
win.document.write(printHtml);
win.document.close();
win.focus();
win.onload = win.print();
win.close();
return false;
}
你的代码有问题:
filter:progid:DXImageTransform.Microsoft.BasicImage(Rotation=3);
这仅受 IE 支持,您应该改用 CSS3 的transform
。
width='100%';
height='100%';
我们不在 CSS 中使用=
登录。我们使用:
.也许这就是问题的原因。
旁注
好吧,在你的代码中,你不应该真正做所有这些事情。您应该使用 createElement
,并将所有printHtml = printHtml +
更改为
printHtml +=
此外,使用document.write
已经过时。请改用appendChild
。[MDN]
要打印图像,您应该像这样关闭窗口:
setTimeout(function () {
toDoWindow.close();
}, 2000);
相关文章:
- javascript和html图像下拉列表
- 来自流星模板的 HTML 图像链接未由浏览器呈现
- html图像映射和悬停css
- HTML 图像未显示
- HTML图像未加载(自动添加内联css和属性)
- 来自HTML图像的jsPDF 会导致 pdf 为空
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- mp4文件的HTML图像预览
- HTML图像映射为表单提交
- HTML图像布局使用PHP变量,该变量是用JavaScript动态设置的〔o r…〕
- HTML图像加载触发一个错误
- Jquery onmouseover()函数处理动态html图像和span
- JQuery每个函数用HTML图像中的属性填充数组
- 如何在HTML图像地图上制作twitter bootsrap popover
- 简单的HTML图像幻灯片
- 当使用rails助手和嵌入式ruby时,使用JQuery生成html图像
- 尝试将JS绑定到html图像url - 使用WP主题定制器API
- 我正在尝试将 HTML 画布转换为 HTML 图像,但得到一个空白图像
- 带有 base64 字符串(数据 URI)的 HTML 图像标记
- HTML 图像 sldeshow 不更改图像