我是铬扩展的新手。 我想创建一个简单的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