Chrome浏览器插件开发-关于案例

时间:2023-02-13 11:49:13
  1. 前言
  2. 关于案例
  3. 下一章 版本更新提示案例

一、前言

  上章我们提到过开发一个插件所需要的步骤:

    Chrome浏览器插件开发-淘宝自动登录

  并且还介绍了如何在页面上面注入脚本代码,并且成功的完成用户名和密码的自动输入功能。

  本章将会以一些案例来介绍插件的一些新的开发技巧。案例将包括:

    关于案例

  涉及的技术点包括:

    如何使用popup.html

    popup如何使用js

    如何使用chrome  api

二、关于案例

任何一个成熟的产品都会有关于的标志,这是在法律的角度上面宣示自己拥有这个产品的所有权。

以下案例将会介绍如何做个“关于”的案例,我们通过观察其它软件的“关于”都有相同的特性。

      产品名称

      产品版本号

      产品编号/许可证/作者

      产品法律效益宣示

 本次案例将会介绍如何通过弹窗来实现本功能,具体运行界面图如下:

Chrome浏览器插件开发-关于案例

  由界面运行图可得知,我们需要制作一个弹窗界面popup.html。

  chrome插件制作弹窗非常简单,我们只需在manifest.json中配置browser_action项即可达到弹窗界面的功能。

Chrome浏览器插件开发-关于案例

"browser_action": {
"default_icon": "1.png",
"default_popup":"popup.html"
}

  browser_action

  在浏览器主工具条的地址栏右侧增加一个图标

    default_icon: 图标资源文件路径

    default_popup:  点击弹窗界面资源文件路径

编写popup.html, 加入:

Chrome浏览器插件开发-关于案例

简单方便的完成了任务。

显然我们的任务并没这么简单,我们需要动态读取本插件产品的信息。

如何获取本插件产品的信息,我们需要通过Chrome API来获取:

chrome.app.getDetails()
//获取产品信息,包括manifest.json所有项.

下面图是通过backgroup获取产品信息的案例图,供参考:

Chrome浏览器插件开发-关于案例

popup.html如何使用js呢?

Chrome浏览器插件开发-关于案例

由于google的安全机制,该处将会出现安全错误提示(html里面不能出现內联js脚本):

Chrome浏览器插件开发-关于案例

正确的用法是新建一个js文件,popup.html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery-2.0.0.min.js"></script>
<script src="popup.js"></script>
</head>
<body>
<div style="width: 200px;text-align: center" id="about-box"> </div> </body>
</html>

popup.js文件

$(document).ready(function(){
var details = chrome.app.getDetails(); var html = "<p><img src='"+details.browser_action.default_icon+"'></p>"+
"<h2>"+details.name+"</h2>"+
"<p>版本:v"+details.version+"</p>"+
"<p>作者:oshine</p>"+
"<p>@copyright 2016, 不可用于商业用途</p>";
$("#about-box").html(html);
});

manifest.json

{
"manifest_version": 2,
"version": "1.0.2",
"name": "淘宝自动登录助手",
"description": "淘宝自动登录助手",
"browser_action": {
"default_icon": "1.png",
"default_popup":"popup.html"
},
"permissions": [
"https://login.taobao.com/*"
],
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["https://login.taobao.com/*"],
"js": ["taobao_login.js"],
"run_at": "document_end",
"all_frames": true
}
]
}

运行结果:

Chrome浏览器插件开发-关于案例

案例结果!!

Chrome Extension Developer QQ群: 15785475

下一章 版本更新提示案例

Chrome浏览器插件开发-关于案例的更多相关文章

  1. Chrome浏览器插件开发-淘宝自动登录

    浏览器插件的介绍 Chrome浏览器插件开发的准备工作 manifest.json配置介绍 页面如何注入scripts文件 一. 浏览器插件的介绍 浏览器插件是一种遵循一定规范的应用程序接口编写出来的 ...

  2. Google Chrome 浏览器插件开发学习

    2014/11/16 Google Chrome 浏览器插件开发学习 因笔记存有文件,不便发表在cnblogs上,请到evernote里找笔记 "Google Chrome 浏览器插件开发学 ...

  3. chrome 浏览器插件开发(一)—— 创建第一个chrome插件

    最近在开发一个chrome插件,在网上找到了一些的文章,虽说按照文章可以写出对应的例子,但若要进行实际开发,发现还是有不少文章中没有的坑.下面我将结合我在开发过程中遇到的几个方面,对这些坑做一下补充. ...

  4. chrome 浏览器插件开发

    一.chrome 浏览器插件开发是什么: 1 从技术上说插件只是一个存在于本地的一个网站.所以呢在插件开发的过程中用到的技术无非是 javascript .html .css . 二.把当前活动页面的 ...

  5. chrome 浏览器插件开发(二)—— 通信 获取页面变量 编写chrome插件专用的库

    在chrome插件的开发过程中,我遇到了一些问题,在网上找了不少文章,可能是浏览器升级的原因,有一些是有效的也有无效的.下面我简单的分享一下我遇到的坑,以及我把这些坑的解决方案整理而成的js库 —— ...

  6. chrome浏览器插件开发实例

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code   具体步骤: 1.新建 manifest.json 文件 { "name& ...

  7. chrome浏览器插件开发经验(一)

    最近在进行chrome浏览器插件的开发,一些小的经验总结随笔. 1.首先,推荐360的chrome插件开发文档:http://open.chrome.360.cn/extension_dev/over ...

  8. chrome浏览器插件启动本地应用程序

    chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅     下载LOFTER我的照片书  |     chrome的插件开发这里就 ...

  9. AwSnap:让全版本(Windows、iOS、Android)Chrome浏览器崩溃的有趣漏洞

    彩蛋爆料直击现场 几周前,我们曾报道了13个字符导致Chrome崩溃的漏洞.然而,这个漏洞有个小小的遗憾,那就是它只在MAC OS X下生效,其他系统并不受影响. 现在,我们又有了一个更有趣的漏洞.黑 ...

随机推荐

  1. oracle表空间相关

    数据库被划分为若干个表空间,每个表空间内保存一组相关的逻辑对象.每个表空间由一个或者多个数据文件组成.oracle中的数据逻辑上存储在表空间里,物理上存储在属于该表空间的数据文件里.表空间是用户和物理 ...

  2. 夺命雷公狗ThinkPHP项目之----企业网站21之网站前台二级分类显示名称(TP自定义函数展示无限极分类)

    我们实现网站二级分类的显示的时候,先要考虑的是直接取出*栏目,控制器代码如下所示: <?php namespace Home\Controller; use Think\Controller; ...

  3. android安卓最新快捷环境搭建&lpar;转&rpar;

    现在很多视频和文章上的安卓环境搭建还是比较老的,挺麻烦.现在写快速方便的搭建: 一.下载JDK: 网址:http://www.oracle.com/technetwork/java/javase/do ...

  4. 使用mysql触发器脚本,解决流水数据的添加。

    1.建立表脚本 CREATE DATABASE `spring` DEFAULT CHARACTER SET utf8; USE `spring`; CREATE TABLE `account` ( ...

  5. C&plus;&plus;常用容器

    vector 顺序容器,和数组类似,可从尾部快速的插入和删除,可随机访问. vector的常用成员函数: #include<vector> std::vector<type> ...

  6. jquery hasClass&lpar;&rpar;、is&lpar;&rpar; 多个

    一..hasClass() hasClass()方法是用来检查被选择的元素是否包含指定的class名,其语法: $(selector).hasClass("className"); ...

  7. Android ViewPager的每个页面的显示与销毁的时机

    大家在用viewPager的时候要创建一个pagerAdapter对象,用于给viewPager设置页面的. viewPager里面有一个container容器. viewPager的容器缓存3个显示 ...

  8. Java 局部变量、实例变量、类变量(静态变量)区别

    1. 局部变量: 局部变量是类的方法中的变量: 2. 实例变量: 实例变量也是类中独立于方法之外的变量,不过没有static修饰,也叫 对象变量 3. 类变量(静态变量): 类变量是类中独立于方法之外 ...

  9. office 2016 官方原版 (含Visio Project 等全套 )下载地址 (不含破解,非网盘下载)不用登录

    原文地址:https://www.heidoc.net/joomla/technology-science/microsoft/8-office-2016-direct-download-links ...

  10. 设计模式(六)Prototype Pattern 原型模式

    通过new产生一个对象非常繁琐,可以使用原型模式 原型模式实现: ——Cloneable接口和clone方法 ——Prototype模式实现起来最困难的地方是实现内存的复制和操作,Java中提供了cl ...