chrome系列-扩展程序开发学习-js内嵌

简介: 需求:可能会有在页面加载的时候想执行某个js,例如统计页面的DOM等等。
需求:可能会有在页面加载的时候想执行某个js,例如统计页面的DOM等等。

那么这里就需要用到content_scripts.

在这之前,先放一个类似通用的模版,基本上大部分的扩展程序都可以在上面修改。

manifest.json配置

{
    "manifest_version":2,
    "app":{
        "background":{
            "scripts":["background.js"]
        }
    },
    "name":"your extension name",
    "version":"1.0",
    "default_locale":"en",
    "description":"your extension description",
    "icons":{
        "16":"img/icon16.png",
        "48":"img/icon48.png",
        "128":"img/icon128.png"
    },
    "browser_action":{
        "default_icon":{
            "19":"img/icon19.png",
            "38":"img/icon38.png"
        },
        "default_title":"extension title",
        "default_popup":"popup.html"
    },
    "page_action":{
        "default_icon":{
            "19":"img/icon19.png",
            "38":"img/icon38.png"
        },
        "default_title":"extension title",
        "default_popup":"popup.html"
    },
    "background":{
        "scripts":["background.js"]
    },
    "content_scripts":[
        {
            "matches":["http://www.byyui.com/*"],
            "css":["mystylesheet.css"],
            "js":["jquery.js","myjs.js"]
        }
    ],
    "options_page":"option.html",
    "permissions":[
        "*://www.gstyle.com/*"
    ],
    "web_accessible_resources":[
        "img/*.png"
    ]
}

以上这个基本上能满足大部分的扩展需求,以后在开发,可以在这上面进行删减。不认识没关系,一个一个的来练习。

这一节用到的就是content_scripts.操作用户正在浏览的页面。

通过content_scripts可以指定将哪些脚本文件注入到哪些页面中,用户访问可以,对应的脚本会自动执行,从而对DOM进行操作。

简单说下content_scripts里面的属性:

content_scripts 是一个数组,数组里面是对象,对象中包含的字段有:
- matches
- exclude_matches
- css 
- js
- run_at
- all_frames
- include_globs
- exclude_glbos
对应的含义是:
- matches 定义哪些页面会被注入脚本
- exclude_matches 定义哪些页面不会被注入脚本
- css ,js 定义注入的样式和js文件
- run_at 定义了何时注入
- all_frames 定义脚本是否会注入到frame框架中
- include_globs 和 exclude_globs 则是全局URL匹配。最终脚本是否会被注入到哪些页面中是由matches exclude_matches include_globs exclude_globs 的值共同决定。

其中要注意的是:__脚本的变量和浏览页面的变量是不通的。__

OK,那么我们现在来做一个最简单的控制,在某个url浏览器在控制台打印出我们的字符串。

manifest.json 如下:

{
    "manifest_version":2,
    "name":"DOM - DEMO",
    "version":"1.0",
    "description":"操作DOM 练习",
    "content_scripts":[
        {
            "matches":["http://*.byyui.com/"],
            "js":["demo.js"]
        }
    ]
}
demo.js
console.log('my extension print log')

由于没有页面,我们只需要这些就足够了。
chrome浏览器加载后,我们浏览 http://www.byyui.com 就会发现控制台已经打印出我们的字符串了。

示例图

后续例子:跨域请求数据

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
51 1
|
1月前
|
Web App开发 JavaScript 前端开发
Node.js开发
Node.js开发
45 13
|
1月前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
47 8
|
2月前
|
存储 JavaScript 前端开发
深入浅出Node.js后端开发
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将以Node.js为例,深入探讨其背后的哲学思想、核心特性以及在实际项目中的应用,旨在为读者揭示Node.js如何优雅地处理高并发请求,并通过实践案例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和思考。
|
2月前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
本文将带你领略Node.js的魅力,从基础概念到实践应用,一步步深入理解并掌握Node.js在后端开发中的运用。我们将通过实例学习如何搭建一个基本的Web服务,探讨Node.js的事件驱动和非阻塞I/O模型,以及如何利用其强大的生态系统进行高效的后端开发。无论你是前端开发者还是后端新手,这篇文章都会为你打开一扇通往全栈开发的大门。
|
2月前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
在这篇文章中,我们将一起探索Node.js的奇妙世界。无论你是刚接触后端开发的新手,还是希望深化理解的老手,这篇文章都适合你。我们将从基础概念开始,逐步深入到实际应用,最后通过一个代码示例来巩固所学知识。让我们一起开启这段旅程吧!
|
1月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带领读者从零基础开始,一步步深入到Node.js后端开发的精髓。我们将通过通俗易懂的语言和实际代码示例,探索Node.js的强大功能及其在现代Web开发中的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的见解和技巧,让你的后端开发技能更上一层楼。
|
2月前
|
JavaScript 前端开发 API
深入理解Node.js事件循环及其在后端开发中的应用
本文旨在揭示Node.js的核心特性之一——事件循环,并探讨其对后端开发实践的深远影响。通过剖析事件循环的工作原理和关键组件,我们不仅能够更好地理解Node.js的非阻塞I/O模型,还能学会如何优化我们的后端应用以提高性能和响应能力。文章将结合实例分析事件循环在处理大量并发请求时的优势,以及如何避免常见的编程陷阱,从而为读者提供从理论到实践的全面指导。
|
2月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带你走进Node.js的世界,从基础到进阶,逐步解析Node.js在后端开发中的应用。我们将通过实例来理解Node.js的异步特性、事件驱动模型以及如何利用它处理高并发请求。此外,文章还会介绍如何搭建一个基本的Node.js服务器,并探讨如何利用现代前端框架与Node.js进行交互,实现全栈式开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
33 4
|
15天前
|
前端开发 JavaScript 应用服务中间件
Nginx 支持 JavaScript:前所未有的扩展
Nginx 是全球领先的高性能 Web 服务器,以其高效的反向代理和负载均衡功能著称。近期,Nginx 正式支持 JavaScript(通过 NJS 模块),基于 V8 引擎,允许在配置中嵌入 JS 代码,极大提升了灵活性和扩展性。开发者可以使用 JavaScript 实现动态请求处理、自定义认证、复杂响应处理、中间件编写及流量控制等功能,显著降低开发和维护难度,同时保持高性能。NJS 模块的引入为 Nginx 带来了前所未有的扩展能力,适应快速变化的业务需求。
31 0