是否有某種方式可以獲取僅屬於我的擴展程序的標籤的標籤ID?重新加載Chrome瀏覽器擴展標籤
回答
這真的取決於你的意思是「我的擴展的一部分」。
如果您指的是顯示包含在您的擴展中的頁面的選項卡,則可以執行以下操作;
chrome.tabs.query({}, function (tabs) {
var myTabs = [];
for (var i = 0; i < tabs.length; i++) {
if (tabs[i].url.indexOf(chrome.extension.getURL('')) === 0) {
myTabs.push(tabs[i].id);
}
}
console.log(myTabs);
});
如果你想訪問你的標籤,而不是DOM,它會變得更加容易;
var myTabs = chrome.extension.getViews({type: 'tab'});
通過訪問DOM,您可以簡單地迭代每個視圖(DOMWindow)並刷新每個頁面;
for (var i = 0; i < myTabs.length; i++) {
myTabs[i].location.reload()
}
我會使用'getViews'方法,因爲這會消除您包含'tabs'權限。 – 2012-02-24 20:43:03
myTabs[i].location.reload()
使得錯誤:
Uncaught TypeError: Cannot call method 'reload' of undefined
但是這個代碼:
chrome.tabs.executeScript(myTabs[i].id, {code:"document.location.reload(true);"});
作品。但最好使用correct method:
chrome.tabs.reload(myTabs[i].id)
在你的回答中,你指的是接受答案中的myTabs。請注意,回答者(混淆地)爲不同的集合使用相同的名稱('myTabs')。 'chrome.tabs.query'中的'myTabs'返回一個[Tab type](http://developer.chrome.com/extensions/tabs.html#type-Tab),它沒有直接引用窗口對象。你的回答對於這種情況是正確的。在另一個答案的底部,'myTabs'是一個'window'對象的數組(從'chrome.extension.getViews'返回)。最後的代碼片段僅適用於最後一個'myTabs'對象。 – 2012-10-17 19:36:20
我試圖做同樣的事情,並使用chrome.tabs.query和chrome.tabs.get並沒有爲我工作。這工作完美:
var data = chrome.extension.getViews({'type':'tab'});
$.each(data, function(k,v) {
v.window.location.reload();
});
- 1. Chrome瀏覽器擴展程序 - 重新加載匹配標籤
- 2. Chrome擴展 - 新標籤
- 3. 的setInterval重新加載頁面谷歌瀏覽器擴展
- 4. Chrome瀏覽器擴展程序:標籤問題
- 5. Chrome瀏覽器擴展程序:Javascript注入到活動標籤
- 6. Chrome瀏覽器擴展:重新定位瀏覽器操作popup.html頁面
- 7. 重新加載CHROME的擴展腳本?
- 8. Chrome擴展background.js文件重新加載
- 9. Chrome擴展頁面重新加載
- 10. 重新加載瀏覽器
- 11. 無法加載Chrome瀏覽器擴展程序JavaScript文件
- 12. 循環瀏覽標籤,谷歌瀏覽器擴展程序API
- 13. 瀏覽器加載項/擴展和瀏覽器表單數據
- 14. 離線谷歌Chrome瀏覽器擴展
- 15. 用python擴展Chrome瀏覽器
- 16. Chrome瀏覽器擴展按鈕
- 17. Chrome瀏覽器擴展選項
- 18. Chrome瀏覽器擴展,可檢測第
- 19. Gmail Chrome瀏覽器擴展和document.readyState
- 20. 關閉Chrome瀏覽器擴展動作
- 21. 檢測Google Chrome瀏覽器擴展
- 22. 安全瀏覽器Chrome擴展程序
- 23. Chrome擴展瀏覽器操作
- 24. Google Chrome瀏覽器擴展程序javascript
- 25. 谷歌瀏覽器擴展程序獲取新標籤頁ID
- 26. 谷歌瀏覽器擴展默認在一個新標籤
- 27. 保存Chrome瀏覽器標籤/瀏覽器中複選框的狀態在Chrome擴展中
- 28. Opera瀏覽器擴展 - 通過功能重新載入
- 29. 瀏覽器重啓後Chrome瀏覽器擴展失去請求的權限
- 30. Chrome瀏覽器只加載請求更改標籤焦點
你是什麼意思「我的擴展的一部分」?您可以隨時跟蹤您的擴展在創建時所創建的選項卡。 – 2012-02-24 03:03:00