如何从Javascript调用打印预览?

我有一个页面应该在加载时启动“打印预览”页面。

我找到了这个:

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 = "";

但…

  1. 它在FireFox中不起作用。
  2. 这有点丑陋。

IE是否有更好的方法或适用于FireFox的方法?

回答:

您不能,“打印预览”是浏览器的功能,因此应避免被JavaScript调用,因为这会带来安全风险。

这就是您的示例使用Active X(绕过JavaScript安全问题)的原因。

因此,请改用您应该已经拥有的打印样式表,然后将其显示为media = screen,print而不是media = print。

阅读AlistApart:将要打印,以获得有关打印样式表主题的好文章。

以上是 如何从Javascript调用打印预览? 的全部内容, 来源链接: utcz.com/qa/404580.html

回到顶部