0

我想从设备上运行的浏览器中获取所有打开的 URL,而无需开发扩展。我不想开发扩展有两个原因。首先对于 Chrome,用户必须去 chrome 商店安装扩展。其次,我必须为所有安装的浏览器编写扩展。

所以我开始研究 Scripting Bridge,但事实证明它不适用于没有 GUI 脚本的 Chrome(用户必须启用辅助设备)。

所以相反,我正在考虑构建一个插件。但问题是插件只能支持某些 mime 类型。如何确保从任何网页调用我的插件?除非所有网页中都存在通用的 mime 类型,否则我不确定如何解决这个问题。

无论如何,你们认为这是最好的方法吗?或者有没有其他方法可以获取所有打开标签的 URL。

4

1 回答 1

2

让插件自动添加到所有页面的唯一方法是使用扩展,并且没有办法在所有页面中加载插件以了解除了加载给定插件实例的页面之外的其他页面在。

插件不知道浏览器,只知道它们插入的页面(或加载以处理,在处理诸如 .pdf 之类的 mimetype 的插件的情况下)。有关插件与扩展功能的更多信息,请参阅http://npapi.com/extensions 。

但是,因为插件只知道一个页面,这意味着它们无法找到同一浏览器进程中的其他页面,包括选项卡。他们根本没有任何方法可以做到这一点,这是设计使然;API 开发人员不希望任何人能够拥有一个插件来处理一种媒体类型,该插件可能会以某种方式在另一个选项卡中绑定到您的银行站点窗口,而您却没有意识到这一点。当然,某些扩展框架可能会让你找到一种方法来做到这一点,但插件本身却不能。

于 2013-08-18T20:19:54.593 回答