【发布时间】:2014-05-13 09:07:07
【问题描述】:
我在 Safari 上遇到打印问题。我的系统是 Windows 7,此功能在除 Safari 之外的所有其他浏览器中都可以正常工作。情况如下:
window.onload = function(){
console.log('before print');
window.print();
}
控制台面板不会输出日志,但会先出现打印页面,在打印页面选择取消后,会输出日志。
有没有人提出过这个问题?任何帮助将不胜感激。
更新
这是我的情况:
我们需要打印一个用户可以通过选中和取消选中复选框来更改内容的页面,并且只打印该页面的内容部分,因此我们创建一个仅包含打印内容的新页面。在这个页面中,我们需要隐藏用户没有选择的不必要的内容,所以我们需要在window.print()被调用之前做一些DOM操作。 console.log() 只是用于观察的示例代码。我尝试在测试 HTML 中添加 <div id='test'>Test HTML</div> 并添加
var test = document.getElementById('test');
test.style.background = 'yellow';
在window.print(); 之前,它在我的 Safari 浏览器中显示相同的结果,“测试 HTML”不会变成黄色,直到我点击打印面板中的取消按钮,所以这不仅仅是 console.log 的问题。
更新
我在 Windows 7 上使用 Safari 5.1.7(7534.57.2)
【问题讨论】:
-
只是一个注释(我知道这是一个迟到的评论,但它适用于 14 年)。早在 12 年(当 Safari 6 发布时),Windows 的 Safari 就停止了。因此,如果您尝试在 Windows 上测试 Safari,请知道它不能代表 Mac 上的 Safari,并且知道许多“新”功能(例如一些 HTML5 的东西)根本不起作用,或者不会按预期工作。
标签: javascript printing safari