URL/HTML コンテンツが特定の要件を満たしている場合に Google を検索する基本的な拡張機能を作成しました。ほとんどの場合は機能しますが、拡張機能のインスタンスが複数ある場合は悲惨に失敗します。たとえば、タブ A を読み込んでからタブ B を読み込んだときに、タブ A のページ アクションをクリックすると、タブ B のコンテンツの検索に誘導されます。
スクリプトを各タブにサイロ化する方法がわかりません。そのため、タブ A のページ アクションをクリックすると、常にタブ A の検索が行われます。どうすればそれができますか?あなたの提案に感謝します!
background.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})
})
contentscript.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); })
};
}