Opera15扩展:标签和窗口的操作
本文根据 Opera 官方文档编写,介绍扩展中对标签和窗口的简单操作。
无论操作是标签还是窗口都需要在 manifest.json
文件中声明 tabs
权限
{
...
"permissions": ["tabs"],
...
}
创建标签
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.create({'url': 'http://sxlf.org'});
});
访问当前标签
chrome.tabs.query({currentWindow: true, active: true}, function(tab){})
更新标签
更新标签首先用 qurey()
方法获取标签,然后用 update()
方法更新相关内容。
一个简单的例子,点击按钮让当前窗口中所有访问伤心凉粉网页的标签都跳转到首页:
var pattern = "http://sxlf.org/*";
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.query({'currentWindow': true, 'url': pattern}, function(tab) { //匹配选择符合条件的标签
for (var i=0; i<tab.length; i++){ //循环更新标签
chrome.tabs.update(tab[i].id, {'url': 'http://sxlf.org'});
}
});
});
关闭、刷新、克隆标签
值得一提的是,这三个方法并不需要在 manifest.json
文件中声明 tabs
权限。
chrome.tabs.query({currentWindow: true, active: true}, function(tab){
chrome.tabs.remove(tab[0].id); // 关闭标签
});
chrome.tabs.query({currentWindow: true, active: true}, function(tab){
chrome.tabs.reload(tab[0].id); // 刷新标签
});
chrome.tabs.query({currentWindow: true, active: true}, function(tab){
chrome.tabs.duplicate(tab[0].id); // 克隆标签
});
窗口的操作和标签操作大同小异,可以在访问官方的 API 查看。
标签:扩展