Chrome扩展学习指南

Chrome扩展是为开发者准备,通过插件扩展可以自定义浏览器的一些行为以满足个人的开发需求,比如可以屏蔽弹窗广告,自定义HTTP请求头等。

Chrome扩展简介

在客户端可以通过访问chrome://extentions打开扩展管理界面

扩展文件组成:

  1. manifest.json文件:插件配置文件,包括插件名字版本以及脚本执行入口等重要信息;
  2. icon文件:图标文件,格式为png,可以有16*16和48*48等图片文件;
  3. 资源文件:包括js和html文件,插件运行的具体内容,在manifest文件中配置;

扩展指令大全

指令都集中在manifest.json文件中,有必填项和选填项。

属性名字是否必填属性描述
name插件名字
version插件当前版本
manifest_version指定清单文件格式的版本,在Chrome18后固定为2
description简单介绍插件的信息
icons

插件图标建议PNG格式,有三种图标:16*16(扩展信息栏),48*48(扩展管理页面),128*128(安装过程中)

default_locale

国际化,对多语言浏览器的支持

background否(重要)

插件指定运行的后台脚本,可以是html或js文件,

如:"background": {"scripts": ["bg.js"]}

content_scripts

否(重要)

运行在浏览器页面的上下文页面,使用标准的DOM模型,

"content_scripts": {

    "matches": ["http://*/*", "https://*/*"],

    "js": "script.js",

    "run_at": "document_end",

    "all_frames": false

}

options_page自定义扩展选项页,可以在扩展详情中打开这个页面,更改值可以放在扩展程序存储中
browser_action否(重要)

可以设置扩展信息栏的图标,图标悬浮提示,点击图标弹出窗口,

"browser_action": {

    "default_title": "plugin test",

    "default_popup": "test.html",

    "default_icon": {

        "16": "icon16.png",

        "48": "icon48.png"

    }

}

注:

1. page_action与browser_action只能用其一;

2. 如果不配置default_popup图标按钮将不可点;

3. 与page_action区别是browser_action中图标始终显示toolbar,而page_action可以控制图标显示与隐藏;

page_action

与browser_action功能类似且两者不能同时出现

(注:page_action与browser_action只能用其一)

permissions插件在浏览器中使用的权限,包括tabs(访问浏览器选项卡)、activeTab(获取当前选项卡)、notifications(浏览器通知,基于html5)、storage(存储)、http://*/*(任意URL)
update_url

插件自动更新地址,对官方发布的插件无效,范例:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='dennis'>
    <updatecheck codebase='http://esb.com/ext/esb_v2.crx' version='2.0' />
  </app>
</gupdate>

 

web_accessible_resources

允许扩展外的页面访问扩展内的资源

扩展开发开发实例

点击扩展图标弹出窗口效果图:

代码实例:

{
    "name": "Our Chrome Extension's Name",
    "version": "1.0",
    "manifest_version": 2,
    "description": "This is the first Chrome extension.",
    "icons": { 
        "16": "icon_16.png",
        "48": "icon_48.png",
        "128": "icon_128.png"
    },
    "background": {
        "scripts": ["bg.js"]
    },
    "browser_action": {
        "default_title": "dennis title",
        "default_popup": "pop.html"
    },
    "options_page": "options.html",
    "permissions": [ "tabs", "storage", "http://*/*", "https://*/*" ],
    "content_scripts": [{
        "matches": ["http://*/*", "https://*/*"],
        "js": ["sample.js"]
    }],
    "web_accessible_resources": [ "resources/*", "resources/**/*" ]
}

pop.html代码:

<html>
    <head>
        <title>弹窗123</title>
        <meta charset="utf-8">
    </head>
    <body>
        <form>
            姓名:<input type="text" /><br />
            家乡:<input type="text" /><br />
            <input type="submit" /><br />
        </form>
    </body>
</html>

其它页面不再一一介绍。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值