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

这是一个教程,教你如何创建一个Chrome插件,该插件在页面加载完成后能显示所有input标签的ID。通过修改manifest.json文件和使用JavaScript,实现了页面间的通信功能。

</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);
        }
    }

}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值