当我导航到例如amazon.com或google.com并点击浏览器图标进行浏览器操作时,我不确定为什么我无法使用getCurrent()检索有关当前标签的信息。关于我遗失的任何提示?
清单:
{
"name": "testGetCurrentTab",
"version": "1.0",
"description": "",
"manifest_version": 2,
"icons": {
"48": "icons/icon-48.png"
},
"permissions": [
"tabs",
"<all_urls>"
],
"browser_action": {
"default_icon": "icon/icon-32.png"
},
"background": {
"scripts": ["background.js"]
}
}
背景:
function displayInfo() {
function onGot(tabInfo) {
console.log('Inside onGot() ...');
console.log(tabInfo);
}
function onError(error) {
console.log(`Error: ${error}`);
}
var gettingCurrent = browser.tabs.getCurrent();
gettingCurrent.then(onGot, onError);
}
browser.browserAction.onClicked.addListener(displayInfo);
这是输出:
Inside onGot() ... background.js:4:7
undefined background.js:5:7
Firefox Dev Edition 54(64位)
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/getCurrent
答案 0 :(得分:11)
您可以在执行
时获取<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="one">DOWN</button>
<button id="sec">TOP</button>
<button id="thi">LEFT</button>
<button id="for">RIGHT</button>
<br><br>
<div class="box">
</div>
文件中当前有效的标签
background.js
答案 1 :(得分:8)
来自MDN tabs.getCurrent()
:
获取tabs.Tab,其中包含有关运行此脚本的选项卡的信息。
您可以在有浏览器标签的上下文中调用此函数,例如options page。如果从后台脚本或弹出窗口调用它,它将返回undefined。
browserAction.onClicked
事件返回活动标签,您不需要其他API调用。
browser.browserAction.onClicked.addListener(function(tab) {
console.log(tab)
})