嘿,我是javascript和chrome扩展程序的新手。我正在尝试开发一个Chrome扩展程序,它使用浏览器操作来计算Google Chrome浏览器当前活动标签中的标记数量。我可以使用getElementsByTagName.lenght方法计算标记数量,我知道我可以使用控制台用于访问网页DOM的API。但我不知道如何从我的javascript文件中调用该API。你们对此有何了解?
答案 0 :(得分:0)
要访问当前页面DOM,您需要编写内容脚本。 1.在manifest.json
中指定内容脚本"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"]
}
]
如果需要注入脚本,有时可以通过指定权限字段使用Programmatic Injection:
{
"name": "My extension",
...
"permissions": [
"activeTab"
],
...
}
2.在这种情况下,我更喜欢后者。在popup.js中添加代码:
function printResult(result){
//or You can print the result using innerHTML
console.log(result);
}
chrome.tabs.executeScript(null, { file: 'content.js' },function(result){
printResult(result);
});
3.在内容脚本中,您可以访问当前页面/活动标签DOM。
var result=document.getElementsByTagName("input").length;