这是我的manifest.json文件
{
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made.",
"background_page": "background.html",
"page_action":
{
"default_icon": "icon.png"
},
"permissions" : [
"tabs"
]
}
这是background.html
<html>
<head>
<script>
// Called when the url of a tab changes.
function checkForValidUrl(tabId, changeInfo, tab) {
// If the letter 'page' is found in the tab's URL...
if (tab.url.indexOf('google') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
chrome.pageAction.onClicked.addListener(function(tab)
{
tab.url = 'www.bing.com';
console.log('I am clicked');
}
);
</script>
</head>
</html>
当我点击页面操作图标时,我想将页面重定向到Bing.com,但此点击事件对我不起作用。
由于
答案 0 :(得分:3)
如果您想重定向需要使用的标签:
chrome.tabs.update(tab.id, {url: "http://www.bing.com"});
您还需要检查页面的状态,因为checkForValidUrl
将针对每个页面执行两次:
function checkForValidUrl(tabId, changeInfo, tab) {
if(changeInfo.status === "loading") {
//...
}
});
答案 1 :(得分:-2)
您是否尝试过使用javascripts window.location函数? e.g:
了window.location = “http://www.bing.com”;
如果这不起作用,那么你可能会想到你的事件监听器的问题。