我是鉻擴展的新手。 我想創建一個簡單的Chrome擴展,它彈出一個警報,其中包含當前html頁面的標題。 當我執行時:alert(document.title)
,我沒有得到它,因爲文檔對象不屬於頁面,而是屬於擴展腳本(是否正確?) 如何獲取正確的文檔對象?從Chrome擴展訪問當前的html頁面
9
A
回答
3
可以使用tabs module:
chrome.tabs.getCurrent(function(tab) {
alert(tab.title);
});
10
內容腳本去最簡單的方法:
展開清單文件與此代碼:
...
"content_scripts": [
{
"matches": ["http://urlhere/*"],
"js": ["contentscript.js"]
}
],
...
內容的腳本(截至matches
提到在manifest文件每一頁上自動執行):
alert(document.title)
使用內容腳本的優勢chrome.extension.*
方法是,您的擴展不需要SC ary權限,如tabs
。
參見:
1
爲你做什麼你東東d做的是
chrome.tabs.executeScript({
code: 'alert(document.title)'
})
的chrome.tabs.executeScript API允許你在當前頁面,而不是在擴展運行JavaScript所以這個工作得很好,但如果你以後要使用該頁面的名稱在更復雜的擴展比我只想做了什麼
+1
這是否需要向CSP添加'unsafe-eval'? – Xan
0
我用什麼pimvdb這個擴展做類似的事情:
main.js:
(function(){window.prompt('Page title:', document.title)})()
manifest.json的:
{
"background": {"scripts": ["background.js"]},
"browser_action": {
"default_title": "popup_title"
},
"name": "popup_title",
"description": "Display the page title for copying",
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
],
"version": "1.0",
"manifest_version": 2
}
background.js:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {file: "main.js"})
});
相關問題
- 1. 從Chrome擴展中獲取當前頁面的源HTML
- 2. 從Chrome擴展程序訪問當前選項卡DOM對象
- 3. 如何從Chrome擴展的bg頁面訪問彈出頁面的DOM?
- 4. 使用Chrome擴展編輯頁面html
- 5. 在Chrome擴展中獲取當前頁面的url
- 6. Chrome擴展程序:獲取當前頁面的字符集
- 7. Chrome擴展問題與後臺頁面
- 8. Chrome擴展 - 只是爲了將當前頁面保存到本地html文件
- 9. 訪問請求的頁面大小 - Chrome擴展程序
- 10. 如何從Chrome擴展訪問IndexedDB(當前打開的域/標籤)
- 11. 擴展Facebook的頁面訪問令牌
- 12. 如何訪問當前[網頁]頁面(當前頁面之外)?
- 13. 如何從Chrome擴展程序訪問頁面中的輸入字段?
- 14. 從Visual Studio擴展訪問當前的Microsoft帳戶
- 15. 通過Chrome擴展檢測當前IP?
- 16. Chrome擴展 - 頁面加載時的EventListener
- 17. 擴展中的Chrome圖標頁面
- 18. 限制對Chrome擴展的訪問
- 19. 從html/jsp頁面,如何訪問firefox擴展中的Javascript文件?
- 20. 使「後臺」Chrome擴展程序修改當前頁面的代碼
- 21. 通過chrome擴展插入html到當前標籤?
- 22. 如何從當前文檔/窗口訪問Firefox擴展變量
- 23. 在Chrome擴展中的後臺頁面呈現HTML
- 24. 使用chrome擴展將頁面的html傳遞給腳本
- 25. Chrome擴展,從
- 26. 從頁面代碼訪問特定的擴展對象數據
- 27. Chrome擴展HTML的文件系統訪問
- 28. Chrome擴展頁面重新加載
- 29. Chrome擴展程序背景頁面
- 30. Chrome擴展後臺頁面狀態
@羅布女:我剛纔問過類似的問題http://stackoverflow.com/questions/1964225/accessing-current-tab -dom對象從 - 彈出式的HTML。但在我的情況下,擴展將信息從當前標籤發送到我的書籤應用程序。我理解你的答案的方式,然後,我試圖書籤的任何頁面都需要包含在清單文件中。它是否正確?在這種情況下,這將是無用的。謝謝。 – Zeynel
@Zeynel然後包括'「*」':'「匹配」:[「*」],' –
@ Rob W:謝謝。我可能不會這樣做,但我必須輸入'「匹配」:[「http:// */*」],以使其按照此http://code.google.com/chrome/extensions /match_patterns.html,否則我得到'丟失計劃分離器'我還沒有嘗試過,但至少擴展上傳。再次感謝。 – Zeynel