我已经能够加载一个新选项卡,但脚本在页面加载之前执行。
manifest.json:
{
"manifest_version": 2,
"name": "cpClips",
"version": "1.0",
"description": "cpClips extension to download videos from streaming sites.",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["bg.js"],
"persistent": false
},
"permissions": [
"tabs"
]
}
bg.js:
chrome.browserAction.onClicked.addListener(function(activeTab)
{
chrome.tabs.create({ url: 'http://127.0.0.1:8000' },function(tab) {
alert('hi');
});
});
我尝试使用chrome.tabs.executeScript
和chrome.tabs.onUpdated.addListener
,但即使新标签也无法打开。
一个例子很好。
答案 0 :(得分:7)
创建选项卡时发生create
的回调,但加载页面时不一定。您还需要为onUpdated事件添加一个侦听器,并查看传递给它changeInfo
的回调的status
对象。
chrome.browserAction.onClicked.addListener(function(activeTab)
{
chrome.tabs.create({url:'http://127.0.0.1:8000'}, function(tab) {
});
});
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
// make sure the status is 'complete' and it's the right tab
if (tab.url.indexOf('127.0.0.1:8000') != -1 && changeInfo.status == 'complete') {
chrome.tabs.executeScript(null, {
code: "alert('hi');"
});
}
});