0

我正在尝试运行 JavaScript 代码“Bookmarklet”但我做不到,有人知道该怎么做吗?

背景.js

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(tab.id, {file: "sc-dl.js"})
});

var executeScript = function(info, tab){
    chrome.tabs.executeScript(null, {file:"sc-dl.js"});
}
var Test2 = {"title": "Test2", "contexts":["page"], "parentId":menu,"onclick":executeScript};
chrome.contextMenus.create(Test2);

清单.json

"background": {"scripts": ["background.js"]},
"web_accessible_resources": ["sc-dl.js"],
"permissions": ["contextMenus","tabs","http://*/*","https://*/*"],

这是您要从“ContextMenu”或“browserAction”运行的文件

4

1 回答 1

0

如果您查看您尝试注入的代码,您会发现它不是普通的 JS,并且需要一大堆其他库。

您可以先将它们全部注入,但考虑到这是一个小书签,它可能打算在某个页面的上下文中执行。

Chrome 的内容脚本存在于一个孤立的上下文中,因此您应该尝试将其注入页面的上下文中。如果它已经加载了所有库,它应该可以工作。

于 2014-05-10T11:17:15.693 回答