zoukankan      html  css  js  c++  java
  • Chrome插件开发 尝试1

    1.新建文件夹

    如图:整个项目的结构

    项目目录结构

    2.新建一个名为manifest.json的文件,编码模式为utf-8,(可以先建好txt文件然后再将文件后缀txt改为json)

    3.用记事本写入代码如下:(manifest.json)

     1 {
     2   "name": "Test_APP",
     3   "version": "1.0", 
     4   "manifest_version":2, 
     5   "description": "Test_APP",
     6   "browser_action":{
     7     "default_icon": "./icos/rh_16.ico",
     8     "default_popup": "popup.html"
     9   },
    10   "icons": {
    11     "16": "./icos/rh_16.ico",
    12     "32":"./icos/rh_32.ico",
    13     "48": "./icos/rh_48.ico",
    14     "128": "./icos/rh_128.ico"
    15   },
    16   "permissions": [ 
    17     "tabs",
    18     "http://*/", 
    19     "https://*/"
    20   ]
    21 }
    View Code

    注释:其中browser_action 中的dafault_icon 是自己 准备的图片(我将一张jpg到网站上转化为了几张不同大小的ico),dafault_popup是默认页面

    4. 新建一个html页面 名字叫popup.html内容如下:

     1 <html>
     2     <head>
     3         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     4         <title>Ceshi</title>
     5         <script type="text/javascript" src="jquery-1.10.2/jquery-1.10.2.js"></script>
     6         <script type="text/javascript" src="popup.js" ></script>
     7     </head>
     8     <body>
     9      <input type="button" id="btn" value="改变百度图片测试"/>
    10     </body>
    11 </html>
    View Code

    注:其中使用到jQuery,请自行下载,如上所示 我使用jquery-1.10.2文件夹中的jquery-1.10.2.js文件

    5.新建popup.js文件,内容如下:

     1 $(function () {
     2     ///注入 执行文件
     3     chrome.windows.getCurrent(function (currentWindow) {
     4         chrome.tabs.query({ active: true, windowId: currentWindow.id },
     5             function (activeTabs) {
     6                 chrome.tabs.executeScript(activeTabs[0].id, { file: "./jquery-1.10.2/jquery-1.10.2.js", allFrames: false });
     7             });
     8     });
     9     //注入 执行文件
    10     $('#btn').click(function () {
    11         chrome.windows.getCurrent(function (currentWindow) {
    12             chrome.tabs.query({ active: true, windowId: currentWindow.id },
    13                 function (activeTabs) {
    14                     chrome.tabs.executeScript(activeTabs[0].id, { file: "./xx.js", allFrames: false });
    15                 });
    16         });
    17     });
    18 });
    View Code

    注释:此处使用jQuery语法 因为在popup.html文件中已经引用jquery文件;

    注1:其中第一条为貌似为固定写法 以为:将指定文件"注入到"当前网站,然后运行主要进去的js文件.

    注2:其中在xx.js文件是我执行的文件.其中使用到jquery语法,所以需要将jquery"注入到"当前页面

    6.新建xx.js文件(此js文件为主要执行代码),内容如下:

    1 $('#lg').html('<h1>1!2!3!4!5! 上山打老虎 </h1>');
    View Code

    注释:因为百度首页的logo使用的div的id为lg你懂得......

    7.就此代码工作完成,打开chrome浏览器,工具->扩展程序->加载正在开发的扩展程序    然后选择第一步建立的文件夹.ok.....你会看到chrome右上角多出一个app,然后转到百度首页,单击咱们的app,会发现 百度首页的logo 被替换为 .....你懂得....

    8.关于app程序打包为crx,依然是 Chrome浏览器->工具->扩展程序->打包扩展程序...剩下的 你懂得 你会得到 一个 xx.crx..然后你就可以吧这个crx给别人了...哈哈

     Chrome后台

    源码下载: http://pan.baidu.com/share/link?shareid=526440339&uk=2754452510
    

    最后感谢 :小辉辉(朱京辉)同学 的大力帮助 

    感谢 杨洋大牛 提供 中文开发 文档:http://open.chrome.360.cn/extension_dev/overview.html

     

    小菜在此敬上,欢迎大牛指点

  • 相关阅读:
    【leetcode】1295. Find Numbers with Even Number of Digits
    【leetcode】427. Construct Quad Tree
    【leetcode】1240. Tiling a Rectangle with the Fewest Squares
    【leetcode】1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold
    【leetcode】1291. Sequential Digits
    【leetcode】1290. Convert Binary Number in a Linked List to Integer
    【leetcode】1269. Number of Ways to Stay in the Same Place After Some Steps
    【leetcode】1289. Minimum Falling Path Sum II
    【leetcode】1288. Remove Covered Intervals
    【leetcode】1287. Element Appearing More Than 25% In Sorted Array
  • 原文地址:https://www.cnblogs.com/rufus-hua/p/3325125.html
Copyright © 2011-2022 走看看