我是创建Chrome扩展程序的新手,我正在开发一个扩展页面操作,它在某些网址中有效,我想在弹出窗口中为每个网址添加不同的文字,我能做到吗?请帮帮我。
我的background.js因此
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (~tab.url.indexOf('url1.com.br')) {
chrome.pageAction.show(tabId);
}
if (~tab.url.indexOf('url2.com.br')) {
chrome.pageAction.show(tabId);
}
});
答案 0 :(得分:1)
行。首先,在特定网址上显示page_action图标,您可以使用声明性内容。
// When the extension is installed or upgraded ...
chrome.runtime.onInstalled.addListener(function() {
// Replace all rules ...
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
// With a new rule ...
chrome.declarativeContent.onPageChanged.addRules([
{
// That fires when a page's on a specific URL
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { urlContains: 'url1.com.br' },
}),
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { urlContains: 'url2.com.br' }
})
],
// And shows the extension's page action.
actions: [ new chrome.declarativeContent.ShowPageAction() ]
}
]);
});
});
不要忘记在 manifest.json 中添加声明性内容的权限。另一件事是不同网址的不同文本。
popup.js
chrome.tabs.query({'active': true, 'currentWindow': true}, function (tabs) {
var dynamicText = "You are here;"+ tabs[0].url;
document.getElementById("textbox").value = dynamicText ;
});
此示例获取currentWindow的URL并将其插入到具有文本框ID的元素中。我希望样本足以解决问题。