我有一个页面应该在加载时启动“打印预览”页面。
我找到了这个:
var OLECMDID = 7; /* OLECMDID values: * 6 - print * 7 - print preview * 1 - open window * 4 - Save As */ var PROMPT = 1; // 2 DONTPROMPTUSER var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(OLECMDID, PROMPT); WebBrowser1.outerHTML = "";
但…
IE是否有更好的方法或适用于FireFox的方法?
您不能,“打印预览”是浏览器的功能,因此应避免被JavaScript调用,因为这会带来安全风险。
这就是您的示例使用Active X(绕过JavaScript安全问题)的原因。
因此,请改用您应该已经拥有的打印样式表,然后将其显示为media = screen,print而不是media = print。
阅读AlistApart:将要打印,以获得有关打印样式表主题的好文章。