我需要提供在保存成功后打印标签并重定向到搜索页面的功能。这在chrome、firefox、ie、iOS 6/7 safari等浏览器中都有效。然而,在iOS 8中,当从javascript发出window.print()时,似乎不再停止javascript的执行。
如果您使用连接到计算机的iOS 8 Safari导航到this jsfiddle example并单击“打印”按钮,您将看到在打印对话框弹出时console.log会触发。因此,如果您想打印然后导航,您将打印错误的屏幕,除非您有足够时间来点击打印,但在这种情况下是不可接受的。
我进行了人为延迟,因为在iOS 6/7中,这似乎可以使打印对话框最终停止javascript的执行。在那种情况下,500毫秒就足以使其工作。
有其他人在从Safari的iOS 8中执行类似操作时遇到过此问题吗?他们是否引入了新的事件来监听,我可以用它来实现这个功能?
如果您使用连接到计算机的iOS 8 Safari导航到this jsfiddle example并单击“打印”按钮,您将看到在打印对话框弹出时console.log会触发。因此,如果您想打印然后导航,您将打印错误的屏幕,除非您有足够时间来点击打印,但在这种情况下是不可接受的。
我进行了人为延迟,因为在iOS 6/7中,这似乎可以使打印对话框最终停止javascript的执行。在那种情况下,500毫秒就足以使其工作。
有其他人在从Safari的iOS 8中执行类似操作时遇到过此问题吗?他们是否引入了新的事件来监听,我可以用它来实现这个功能?
// Example Code
window.print();
setTimeout(function() {
console.log('This should print after the print is issued in the iOS print dialog.');
}, 500);