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

相关文章
|
3月前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
5月前
|
JavaScript 前端开发
js之DOM 文档对象模型
js之DOM 文档对象模型
32 1
js之DOM 文档对象模型
|
5月前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
63 1
|
5月前
|
JavaScript 前端开发 API
前端开发者的救赎:揭秘JQ对象与DOM元素的神秘转换术
【8月更文挑战第23天】在Web前端开发领域,jQuery(简称JQ)作为一款流行的JavaScript库,极大简化了HTML文档遍历、事件处理、动画及Ajax交互等操作。理解和掌握jQuery对象与DOM元素间的转换至关重要。
50 0
|
5月前
|
JavaScript 前端开发
js之DOM 文档对象模型
js之DOM 文档对象模型
|
7月前
|
JavaScript 前端开发 算法
虚拟DOM是React的关键技术,它是个轻量的JS对象树,模拟实际DOM结构。
【6月更文挑战第27天】虚拟DOM是React的关键技术,它是个轻量的JS对象树,模拟实际DOM结构。当状态改变,React不直接修改DOM,而是先构建新的虚拟DOM树。通过 diff 算法比较新旧树,找到最小变更,仅更新必要部分,提高性能,避免频繁DOM操作。虚拟DOM还支持跨平台应用,如React Native。它优化了更新流程,简化开发,并提升了用户体验。
48 1
|
6月前
|
JavaScript
react18【系列实用教程】useRef —— 创建 ref 对象,获取 DOM (2024最新版)
react18【系列实用教程】useRef —— 创建 ref 对象,获取 DOM (2024最新版)
75 0
|
7月前
|
JavaScript 前端开发 API
jQuery对象与DOM对象简介及相互转换
jQuery对象与DOM对象简介及相互转换
|
8月前
|
XML JavaScript 前端开发
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
51 2
|
7月前
|
Web App开发 JavaScript
使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件
使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件
261 0