chrome扩展获取页面dom对象信息

简介:

chrome扩展,在popup页面,给页面对象绑定点击事件,获取当前tab加载页面的DOM对象信息。本chrome扩展功能主要用于获取百度搜索输入框中用户输入的关键字。效果如下

chrome扩展获取页面dom对象信息

  源代码如下

注意:以下文件全部以utf-8文件编码保存

manifest.json


1
2
3
4
5
6
7
8
9
10
     {
       "name" "chrome扩展获取页面dom对象信息" ,
       "manifest_version" : 2,
       "version" "1.0" ,
       "author" : "showbo,http://www.coding123.net" ,
       "description" "chrome扩展,在popup页面,给页面对象绑定点击事件,获取当前tab加载页面的DOM对象信息。本chrome扩展功能主要用于获取百度搜索输入框中用户输入的关键字。" ,
       "browser_action" : { "default_popup" "popup.html" },
       "content_scripts" : [{ "matches" : [ "*://*/*" ], "js" : [ "baidu.js" ]}],
       "permissions" : [ "*://*/*" , "tabs" ]
     }

popup.html

注意事项:chrome扩展不支持inline-script,绑定事件的代码需要放到外部js文件中,也不能直接在DOM对象上添加click事件

1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
< html >
< head >
< meta  http-equiv = "content-type"  content = "text/html;charset=utf-8" >
< title >chrome extension获取页面DOM对象</ title ></ head >
< body >< pre >browser_action中的default_popup指定的页面< br  />
页面中DOM对象如何绑定事件并且获取当前页面的DOM对象信息</ pre >
< a  id = "a"  href = "#" >点击获取百度搜索输入框中的关键字</ a >
< script  src = "bindEvent.js" ></ script ></ body ></ html >
bindEvent.js
1
2
3
4
5
6
7
8
9
var  a = document.getElementById( 'a' );
a.onclick =  function  () { //给对象绑定事件
     chrome.tabs.getSelected( null function  (tab) { //获取当前tab
         //向tab发送请求
         chrome.tabs.sendRequest(tab.id, { action:  "GetBaiduKeyWord"  },  function  (response) {
             alert(response.kw);
         });
     });
}
baidu.js
1
2
3
4
5
6
7
chrome.extension.onRequest.addListener( //监听扩展程序进程或内容脚本发送的请求
     function  (request, sender, sendResponse) {
         if  (request.action ==  "GetBaiduKeyWord" ) {
             sendResponse({ kw: document.forms[0].wd.value });
         }
     }
);

  注意:chrome.tabs.sendRequest和chrome.extension.onRequest这2个对象在版本的chrome中将被废弃,使用chrome.runtime.sendMessage和chrome.runtime.onMessage代替。


由于本人的chrome版本为25,好像没有支持chrome.runtime对象,chrome.runtime为undefined(据说 chrome.runtime 对象chrome22+就支持了。搞毛。。?),懒得升级chrome,所以就没用chrome.runtime对象。


所以如果chrome扩展出错没有效果,可能是这2个对象的问题。

  源代码压缩包下载:chrome扩展获取百度搜索输入框关键字

本文转自问道博客51CTO博客,原文链接http://blog.51cto.com/450236/1852039如需转载请自行联系原作者


crackernet

相关文章
N..
|
1月前
|
JavaScript 前端开发 UED
DOM编程中的form对象
DOM编程中的form对象
N..
10 0
N..
|
1月前
|
XML JavaScript 数据格式
DOM编程中的Document对象
DOM编程中的Document对象
N..
15 0
|
2月前
|
Web App开发 人工智能 自然语言处理
谷歌公布 2023 年最受欢迎Chrome扩展
谷歌公布 2023 年最受欢迎Chrome扩展
|
17天前
|
JavaScript 算法
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
|
4月前
|
XML JavaScript 前端开发
Javaweb之javascript的DOM对象的详细解析
1.5.3 DOM对象 1.5.3.1 DOM介绍 DOM:Document Object Model 文档对象模型。也就是 JavaScript 将 HTML 文档的各个组成部分封装为对象。
44 0
|
5月前
|
Web App开发
chrome扩展:manifest.json文件相关字段
chrome扩展:manifest.json文件相关字段
27 0
|
5月前
|
JavaScript 前端开发 索引
DOM Element对象 参考手册
DOM Element对象 参考手册
|
3月前
|
Web App开发 前端开发 搜索推荐
Chrome 浏览器中的一个隐藏设置页面
Chrome 浏览器中的一个隐藏设置页面
104 8
N..
|
1月前
|
JavaScript 前端开发 UED
DOM的window对象
DOM的window对象
N..
10 1
|
6月前
|
Web App开发 开发者
SAP UI5 应用开发教程之三十八 - 使用 Chrome 开发者工具查看程序执行出错时的上下文信息
SAP UI5 应用开发教程之三十八 - 使用 Chrome 开发者工具查看程序执行出错时的上下文信息
49 0