您的位置:首页 > Web前端 > JavaScript

用js获取网页DOM(例:input标签的ID)的chrome插件

2015-01-28 14:50 791 查看
</pre><p>在JavaScript中有多钟获取DOM元素的方法,常见的有getElementById、getElementsByName、getElementsByTagName、getElementsByClassName,分别是通过id、name、标签名和类名获取元素,注意只有第一个是Element,其他三个都是Elements,因为HTML中元素名必须唯一,其他则不必。下面就以获取网页input标签的ID为例:</p><p>1、</p><p>manifest.json:</p><p></p><pre name="code" class="html">{
"manifest_version":2,
"version":"1.0",
"name":"getid",
"description":"get elements'id",
"icons":{
"16":"images/icon16.png"
},
"content_scripts":[
{
"matches":["*://*/*"],
"js":["js/content.js"]
}
]
}


conten.js:

window.onload = function(){
var list=document.getElementsByTagName("input");
var strData;
for(var i=0;i<list.length && list[i];i++)
{
if(list[i].type == "text"&&list[i].id != "subEmail")
{
strData=list[i];
alert(strData.id);
}
}
}

加载插件成功后,重新载入页面,即可看到弹框显示的每个input的ID。

2、要是想通过页面间的通信来实现上面的功能:函数如下:

manifest.json:

{
"manifest_version":2,
"version":"1.0",
"name":"getid",
"description":"get elements'id",
"icons":{
"16":"images/icon16.png"
},
"background":{
"scripts":[
"js/background.js"
]
},
"content_scripts":[
{
"matches":["*://*/*"],
"js":["js/content.js"]
}
]
}


background.js:

/**
* Created by Administrator on 15-1-4.
*/
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
alert("ID都有"+message);
});


content.js:

/**
* Created by Administrator on 15-1-4.
*/
window.onload = function(){
var list=document.getElementsByTagName("input");
var strData;
for(var i=0;i<list.length && list[i];i++)
{
if(list[i].type == "text"&&list[i].id != "subEmail")
{
strData=list[i];
chrome.runtime.sendMessage(strData.id);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: