如果 URL/HTML 内容满足某些要求,我创建了一个基本的扩展程序来搜索 Google。它在大多数情况下都有效,但是当有多个扩展实例时会失败。例如,如果我加载选项卡 A,然后加载选项卡 B,但单击选项卡 A 的页面操作,我将被定向到搜索选项卡 B 的内容。
我不知道如何将脚本存储到每个选项卡,因此单击选项卡 A 的页面操作将始终导致搜索选项卡 A 的内容。怎么可能呢?我会很感激你的建议!
背景.js
title = "";
luckySearchURL = "http://www.google.com/search?btnI=I%27m+Feeling+Lucky&ie=UTF-8&oe=UTF-8&q=";
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.title != "") {
title = request.title;
sendResponse({confirm: "WE GOT IT."});
}
});
chrome.tabs.onUpdated.addListener(function(tabId, change, tab) {
if (change.status === "complete" && title !== "") {
chrome.pageAction.show(tabId);
}
});
chrome.pageAction.onClicked.addListener(function(tab) {
chrome.tabs.create({url: luckySearchURL + title})
})
内容脚本.js
function getSearchContent() {
url = document.URL;
if (url.indexOf("example.com/") > -1)
return "example";
}
if (window === top) {
content = getSearchContent();
if (content !== null) {
chrome.runtime.sendMessage({title: content}, function(response) {
console.log(response.confirm); })
};
}