我有一个页面应该启动打印预览页面onload.
我找到了这个:
var OLECMDID = 7; /* OLECMDID values: * 6 - print * 7 - print preview * 1 - open window * 4 - Save As */ var PROMPT = 1; // 2 DONTPROMPTUSER var WebBrowser = ''; document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(OLECMDID, PROMPT); WebBrowser1.outerHTML = "";
但...
它在FireFox中不起作用.
这有点难看.
有没有更好的方式为IE或适用于FireFox的方式?
你不能,Print Preview是浏览器的一项功能,因此应该保护它不被JavaScript调用,因为它会带来安全风险.
这就是为什么您的示例使用Active X,它绕过了JavaScript安全问题.
因此,请使用您应该拥有的打印样式表并将其显示为media = screen,而不是media = print.
阅读Alist Apart:去打印以获得关于打印样式表主题的好文章.
我认为在跨浏览器JavaScript中最好的是window.print()
,(在Firefox 3中,对我来说)会打开"打印"对话框,而不是打印预览对话框.