chrome.tabs.getCurrent() or tabs.query()
chrome.tabs.getCurrent() or tabs.query()
两种方法都为我的内容脚本生成了相同的错误Uncaught TypeError: Cannot read property 'query' of undefined
。。。我已经学习了如何使用javascript在chrome扩展中获取当前选项卡的URL,以及如何使用chrome.tabs.getCurrent在chrome扩展中将页面对象获取?尽管我仍然不确定我做错了什么。
manifest.json
{
"name": "Extension Tester",
"version": "0.0.1",
"manifest_version": 2,
"description": "Tester",
"permissions": [
"tabs"
],
"content_scripts": [
{
"matches": ["https://www.google.com/"],
"js": [
"inject.js"
]
}
]
}
inject.js
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
console.log(tabs[0].id);
});
或
chrome.tabs.getCurrent(function (tab) {
console.log(tab.id);
});
不能在内容脚本中使用chrome.tabs
,需要使用chrome.runtime
要知道内容脚本的选项卡id,首先使用chrome.runtime.sendMessage
发送消息,后台页面接收消息
使用chrome.runtime.onMessage.addListener
,回调函数为
function(any message, MessageSender sender, function sendResponse) {...};
因此,您将通过sender.id
相关文章:
- 在chrome.tabs.onCreated之后加载HTML页面
- chrome.tabs.update() 重定向到 'chrome-extension://invalid/'
- 在javascript中接收来自mssql.query的变量
- Query JS Ext.data.Store
- Chrome扩展,Chrome.tabs.query的结果未定义
- 调用chrome.tabs.query后,结果不可用
- chrome.tabs.query:属性'currentWindow':想不到的
- Firefox WebExtension - chrome.tabs.query
- chrome.tabs.query status:loading -> exception?
- 在Chrome.tabs.Query中调用javascript函数
- 如果没有来自chrome.tabs.query的结果,请执行某些操作
- 将chrome.tabs.query放在函数中总是返回undefined
- chrome.tabs.query 未返回正确的选项卡
- 等待chrome.tabs.query回调的最佳方式
- chrome.tabs.getCurrent() or tabs.query()
- Chrome扩展:使Chrome.tabs.query()同步
- 在chrome.tabs.query中出现输入结束错误
- 在chrome.tabs.query中,url仍然未定义
- Chrome.tabs.query()导致浏览器崩溃
- chrome.tabs.query如何显示所有选项卡的信息?