我是鉻擴展的新手。 我想創建一個簡單的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擴展活動頁面的html代碼background.js
- 3. Chrome擴展 - 從擴展訪問文檔/頁面變量
- 4. 從Chrome擴展訪問iframe
- 5. 從Chrome擴展訪問DOM
- 6. 從Chrome擴展程序訪問當前選項卡DOM對象
- 7. 你能從擴展中訪問chrome://頁面嗎?
- 8. 如何從Chrome擴展的bg頁面訪問彈出頁面的DOM?
- 9. 使用Chrome擴展編輯頁面html
- 10. Chrome擴展程序:獲取當前頁面的字符集
- 11. 在Chrome擴展中獲取當前頁面的url
- 12. Chrome擴展取得HTML源文件沒有當前頁
- 13. Chrome擴展問題與後臺頁面
- 14. 鏈接到chrome://擴展頁面,非擴展名HTML
- 15. 使用Chrome擴展程序保存和閱讀當前頁面
- 16. 訪問請求的頁面大小 - Chrome擴展程序
- 17. 訪問Chrome擴展內的自定義頁面回調
- 18. Chrome擴展加載內容頁面中的HTML頁面
- 19. Chrome擴展 - 只是爲了將當前頁面保存到本地html文件
- 20. Chrome擴展API訪問
- 21. Chrome擴展:如何從一個頁面
- 22. 從Chrome擴展程序訪問API
- 23. 如何從Chrome擴展訪問主機
- 24. 從Chrome擴展程序訪問cookie
- 25. 無法從Chrome擴展中的外部js訪問HTML元素
- 26. 擴展Facebook的頁面訪問令牌
- 27. 如何從Chrome擴展訪問IndexedDB(當前打開的域/標籤)
- 28. 從Chrome擴展中訪問網頁的localStorage
- 29. 如何訪問當前[網頁]頁面(當前頁面之外)?
- 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