有两个文件:index.html
和print.html
第一个包含一个使用简单命令打开print.html
的按钮:
window.open("print.html", "_blank", "menubar=yes,toolbar=yes,status,scrollbars,resizable");
print.html
只包含一个用于打开打印预览对话框的按钮:
<button onclick="window.print();">
打开打印预览对话框时出现问题。在这种情况下,index.html
上的任何操作-即发起ajax请求的其他文件-都会被临时阻塞并放入队列中。只有当预览关闭时,浏览器才会触发所有请求。
我只能在Google Chrome (24.0.1312.52米)中看到它。
有人能确认这是Chrome的bug吗?
发布于 2014-06-13 18:18:40
有一个Chrome bug,当DOM中有标签时,window.print()
不能工作。可以通过调用此函数来解决:
function printPage() {
window.print();
//workaround for Chrome bug - https://code.google.com/p/chromium/issues/detail?id=141633
if (window.stop) {
location.reload(); //triggering unload (e.g. reloading the page) makes the print dialog appear
window.stop(); //immediately stop reloading
}
return false;
}
发布于 2014-07-22 16:05:45
您的服务器未添加源头。你需要把它添加到.htaccess上。例如:
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
或者你可以在print.html上的PHP中添加它(如果你可以在html文件上使用PHP )
header ("Access-Control-Allow-Origin: *");
header ("Access-Control-Allow-Headers: origin, x-requested-with, content-type");
header ("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
发布于 2014-07-25 13:50:26
您需要在Apache上安装mod_headers
并在.htaccess
上设置它。
Header add Access-Control-Allow-Origin "*"
https://stackoverflow.com/questions/14462163
复制相似问题