Mag*_*lex 2 firefox printer printing windows-xp
我正在使用 Firefox 23.0.1。我想完全禁用 Firefox 打印,这可能吗?
我使用about:config来设置以下属性:
它让我走到了一半,Firefox 无声地打印并且不显示任何打印迹象。但是,作业仍会发送到默认打印机。
然后我尝试将print_printer设置为空字符串,因为这似乎是默认打印机,但它仍然将作业发送到该打印机。
有没有办法完全禁用 Firefox 打印,最好通过about:config 中的设置?
我想这样做,因为我有自动半负载测试(使用 Selenium 和 JMeter)。在测试的应用程序中,嵌入了一个 pdf,其中有一个 javascript 将 pdf 发送到默认打印机。如果无法禁用打印,则会向打印机发送大量垃圾作业。
您可以禁用 JavaScript 打印功能以防止 JS 启动的打印操作。
有两种方法可以禁用 JS 功能:
设置策略以禁止该功能
用虚拟函数替换它
另一种选择是设置一个虚拟的系统范围的打印机
您可以通过在文件中添加以下行来设置可配置安全策略(注意:Firefox 必须完全关闭才能修改此文件):user.js
user_pref("capability.policy.default.Window.print", "noAccess");
Run Code Online (Sandbox Code Playgroud)
或者,您可以导航到about:config并添加具有相同名称和值的新字符串键。请注意,您将无法从配置 UI 中看到或删除此密钥。
如果您只想在特定站点上阻止此操作,则应执行以下操作(替换示例域):
user_pref("capability.policy.blockPrinting.Window.print", "noAccess");
user_pref("capability.policy.blockPrinting.sites", "http://example.com http://something.example.com");
Run Code Online (Sandbox Code Playgroud)
这种方式的问题是会抛出JS异常,可能会干扰JS的执行。另一个 rapproach,一个虚拟的 JS 函数,可能更安全。
您可以使用虚拟 JS 函数替换打印函数,如下所示:
window.print = function(){};
Run Code Online (Sandbox Code Playgroud)
window.print在此之后的任何调用都将不起作用。您可以通过(例如,Greasemonkey)用户脚本在所需页面上执行此操作。
第三个选项是按照您已经完成的操作并禁用该对话框,然后将系统默认打印机设置为不执行任何操作。不建议这样做,因为它会影响整个系统(尽管在大多数其他程序中,您可以简单地选择不同的打印机,这很不方便)。
| 归档时间: |
|
| 查看次数: |
3366 次 |
| 最近记录: |