将Chrome扩展程序转换为bookmarklet

时间:2016-07-28 13:14:37

标签: javascript google-chrome google-chrome-extension bookmarklet

有很多教程,如何将书签(或任何javascript)转换为Chrome扩展程序。但我需要反过来的程序:我有一些扩展,我想作为bookmarklets。这背后的想法:我不希望这些扩展不断吃掉我的RAM。相反,如果需要,我只需按一个按钮并运行书签。

一个例子是this扩展,它只是在浏览器中打开/关闭javascript。此扩展只包含一个javascript文件(除了图标,manifest.json和签名文件_metadata / verified_contents.json)。

我尝试使用这个javascript作为bookmarklet,但这样做并不能帮助我成功 - javascript没有被切换。看来,我想念一些实质性的东西,但我不知道是什么。有人可以指出我将Chrome扩展转换为bookmarklets的正确程序吗?

1 个答案:

答案 0 :(得分:3)

使用仅适用于Chrome应用和扩展程序的特权chrome API的扩展程序无法转换为书签,在这种情况下chrome.contentSettings.javascript.set

根本原因 - 扩展程序占用的内存 - 可以通过从持久性后台页面切换到未使用扩展时卸载的event page来解决。

你可以唠叨那个扩展的作者这样做 不幸的是,大多数扩展作者似乎都没有意识到。

另一种可能性是通过添加"persistent": false手动编辑扩展的manifest.json,如event page文档中所示(不要忘记逗号),然后在本地加载它。由于切换到事件页面可能需要重新编写代码,因此某些扩展会失败。