【问题标题】:Is there a way to disable Alt+F4, Ctrl+F4, Ctrl+W in web browser using an NPAPI plugin using Firebreath?有没有办法使用 Firebreath 使用 NPAPI 插件在 Web 浏览器中禁用 Alt+F4、Ctrl+F4、Ctrl+W?
【发布时间】:2012-09-01 19:26:54
【问题描述】:

是否可以阻止某些按键(如标题中所述)到达浏览器?基本上我想剥夺用户关闭浏览器窗口的能力。是否可以通过 NPAPI 插件,特别是在google-chrome 网络浏览器中。该插件将使用 firebreath 开发。

【问题讨论】:

标签: firefox google-chrome npapi firebreath browser-plugin


【解决方案1】:

如果您的实际问题是浏览器是否为插件提供了这样做的方法,那么答案绝对不是。

也就是说,您可能可以使用系统 API 来执行此操作,但如果您询问有关如何使用系统 API 执行此操作的问题,您肯定更有可能获得帮助。挑战将是找到一种仅在您在浏览器中或特定选项卡等时才执行此操作的方法;没有办法通过浏览器来做到这一点。如果有办法,它会是 hackish 并且涉及系统调用,而不是插件调用。

还要记住插件不会自动实例化;它只适用于带有您的对象标签的页面。 http://npapi.com/extensions了解更多信息

【讨论】:

  • 转载自 google 群组讨论:您好 Richard,感谢您的快速回复。根据我目前对窗口管理的了解,我得出以下结论: 1. Alt+F4 是关闭窗口的全局组合键,此事件一直冒泡到操作系统。 (在我的操作系统上,我知道如何禁用此组合键或任何类型的组合键以完全关闭窗口)。 2. Ctrl+W、Ctrl+F4 是应用程序特定的。这些按键由应用程序处理,不会冒泡到操作系统。
  • 我在我的系统上禁用了 Alt+F4,猜猜会发生什么。使用此组合键不会关闭 Firefox,另一方面,Google Chrome 和 Opera 会关闭。似乎 Firefox 将 Alt+F4 组合键推迟到操作系统,但显然 Chrome 和 Opera 没有。因此,我的问题与插件有关,如果它们可以阻止某些按键到达浏览器?我确信他们可以捕获事件,正如 FBTestPlugin 中指出的那样,它说明了如何捕获鼠标移动。问题是,它们的传播可以停止吗?
  • 不,浏览器不会给你它自己的事件,只有它认为是为你的插件指定的事件。事实上,如果浏览器认为这样的事情是可能的,这听起来实际上会被浏览器故意阻止。如果你不能使用系统 API 做到这一点,那么你就做不到
  • Ctrl+W 和 Ctrl+F4 并不真正关心系统 API。它们是特定于应用程序的。但你是对的,它不能使用插件来完成。唯一的出路似乎是破解浏览器的代码。
猜你喜欢
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多