我正在尝试将我的书签集成到Chrome扩展程序中,但由于某些原因它无法正常工作
我尝试插入:
chrome.tabs.executeScript(null, {file: "demo.js"});
我尝试了两个popup.html; background.html
我也在清单文件中:
"permissions": [
"tabs",
"http://*/*",
"https://*/*",
"notifications",
"contextMenus"
]
我的demo.js应该会打开一个弹出窗口,您可以在其中输入搜索短语,然后打开维基百科页面。 (例子来自这里:http://coding.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/)
我测试了正常的bookmarklet代码并且效果很好但是现在当我尝试将它与我的Chrome扩展程序集成时,我似乎无法使其正常工作。当我按下扩展图标时,它只会打开一个小的空白扩展窗口。
我尝试了很多其他组合,而不仅仅是我在这里所说的。 你能帮忙吗?
答案 0 :(得分:0)
有chrome.tabs.executeScript
"background_page": "background.html",
"browser_action": {
"name": "Search Wikipedia",
"icons": ["icon.png"]
},
工作的简单示例,如果你想看一下那就是http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/browserAction/make_page_red/。
将manifest.json与manifest.json进行比较,以查找设置browserAction和后台页面的方式的差异(根据我的博客文章,您不应该有一个弹出页面)。具体来说,你可能想要的东西:
// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(
null, {code:"document.body.style.background='red !important'"});
});
以下是他们如何设置他们的browserAction以在单击扩展图标时调用executeScript(),这听起来像你想要的那样:
background.js
在您的情况下,它看起来更像是这样(在background.html
中 - 看看他们的<script src="background.js"></script>
有manifest.json
;确保您的background.html
包含{{1}像他们一样):
// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "demo.js"});
});