当前位置: 首页 > news >正文

chrome扩展程序开发之在目标页面运行自己的JS

原文地址:https://qdgithub.com/home/index/article/aid/247.html

chrome 插件开发的入门介绍,实现利用 chrome 扩展实现在目标网页运行我们的 js 的功能。关于 chrome 扩展的详细内容,可以通过官网了解。

开发工具很简单,记事本就 OK 了,当然还要有一个 chrome 浏览器。

新建一个文件夹,比如,HelloWorld

然后创建一个文本文件,作为这个扩展程序的配置文件,所以文件名是 manifest.json,注意扩展名是 json,然后输入如下内容。

{ "name": "first chrome plugin", "manifest_version": 2, "version": "1.0", "description": "good", "browser_action": { "default_icon": "1.png" },"permissions": ["tabs", "http://*/*","https://*/*"],"content_scripts": [ { "matches": ["https://www.baidu.com/*"], "js": ["myscript.js"] } ] 
}

1.png 的话,随便拖一张图片进来就 OK 啦。另外需要注意的是,该文本文件需要用 UTF8 字符集保存。

现在让我们把 helloworld 添加进去。在 manifest 文件里有几行这样的代码。

"content_scripts": [{"matches": ["http://www.baidu.com/*"],"js": ["myscript.js"]}]

注意跟之前的代码用逗号分割开。

可以看到我们新增了一个内容,就是 content_scripts,详细的介绍应该去看官方文档,我在这里简要介绍下,content_scripts 是运行在打开页面的脚本,可以拿到整个页面的 DOM 对象,所以可以利用该脚本对页面进行操作。

新建一个 js 文件 myscript.js,里边代码很简单。注意该文件为utf-8编码

alert("HelloWorld");
document.body.style.backgroundColor="gray";

在扩展程序页面重新加载插件,就可以去看效果了。

当我打开百度的时候,Oh,my god!

参考链接

chrome extensions

相关文章:

  • python常见报错信息!错误和异常!附带处理方法
  • Spring Cloud - Eureka原理、注册、搭建、应用(全过程详解)
  • flask文件夹列表改进版--Bug追踪
  • 2023年新一代开发者工具 Vue ,正式开源!
  • Power BI - 5分钟学习合并文件
  • 【前端面经】即时设计
  • 通过数字证书对PDF电子文件进行数字签名/盖章
  • 【JavaWeb学习-第四章(1)】Ajax
  • QT编译并部署QtMqtt相关环境+跑测demo【超详细教程】
  • 【大语言模型】Transformer原理以及运行机制
  • 面向对象设计与分析40讲(17)双重检查锁定(double-checked locking)范式
  • PostgreSQL 作为向量数据库:入门和扩展
  • redhat 8 安装openstack
  • Elasticsearch之常用DSL语句
  • 数字人私人定制
  • 【剑指offer】让抽象问题具体化
  • Angular 响应式表单 基础例子
  • C++11: atomic 头文件
  • CODING 缺陷管理功能正式开始公测
  • Facebook AccountKit 接入的坑点
  • Flex布局到底解决了什么问题
  • leetcode46 Permutation 排列组合
  • Markdown 语法简单说明
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Python爬虫--- 1.3 BS4库的解析器
  • swift基础之_对象 实例方法 对象方法。
  • webpack4 一点通
  • 初识 beanstalkd
  • 翻译:Hystrix - How To Use
  • 记一次用 NodeJs 实现模拟登录的思路
  • 技术:超级实用的电脑小技巧
  • 简单易用的leetcode开发测试工具(npm)
  • 力扣(LeetCode)21
  • 深度学习中的信息论知识详解
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Java数据解析之JSON
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​ArcGIS Pro 如何批量删除字段
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • $$$$GB2312-80区位编码表$$$$
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (笔试题)分解质因式
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • ./和../以及/和~之间的区别
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net 简单实现MD5