2013-08-18 45 views
0

我想从设备上运行的浏览器获取所有打开的URL,而无需开发扩展。有两个原因,我不想开发扩展。首先是Chrome,用户必须到Chrome商店安装扩展。其次,我必须为所有安装的浏览器编写扩展。使用插件获取浏览器中所有选项卡的URL OSX

因此,我首先查看了Scripting Bridge,但事实证明,如果没有GUI脚本(用户必须启用辅助设备),Chrome不起作用。

所以相反,我正在研究构建一个插件。虽然插件只能支持某些MIME类型。我如何确保我的插件是从任何网页调用的?除非在所有网页中都存在通用MIME类型,否则我不知道如何解决此问题。

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

回答

2

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

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

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

+0

那么你认为解决这个问题的最好方法是什么? – omgpython

+1

我不知道你想要做什么的理由是什么;说实话,我的第一个想法是“你不能,我很高兴你不能,因为我不希望有人能够与我的电脑上运行的东西”=]我知道最接近的解决方案是你'我已经拒绝了:写一个扩展名 – taxilian

相关问题