chrome瀏覽器擴展應用開發之旅(一)

本文同時發佈於知乎專欄:前端指南
轉載需提早聯繫做者,未經容許不得轉載。javascript

在接下來的一段時間內,我會在知乎專欄內陸續分享關於chrome插件的開發以及其餘關於前端好玩有趣的東西。但願你們持續關注。
今天的主題是教你們開發一個簡單的chrome瀏覽器插件。css

什麼是chrome瀏覽器插件?html

chrome瀏覽器插件說白了就是一個用html、javascript、css組成的一個webapp;相比於一般的app,chrome插件除了普通js的功能外,還能夠調用瀏覽器層面的api,包括書籤、歷史記錄等。前端

詳細瞭解去google開發者官網:https://developer.chrome.com/...java

go!開發web

老規矩,先給你們看一下最簡單項目的目錄結構chrome

簡單介紹一下:json

  • html:存放html頁面api

  • image:存放插件圖標瀏覽器

  • script:存放js文件

  • maniifest.json:一些關於插件的元數據,做爲chrome入口文件

關於manifest更詳細的信息,能夠訪問 Manifest File Format documentation

下面我把構成最簡單chrome插件的最簡單代碼貼上來:

demo01.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>測試</title>
</head>
<body>
  <h2>go</h2>
</body>
</html>

demo01.js

(function(){
    console.log('插件已經運行!');
})();

maniifest.json

{
  "name": "go",
  "version": "0.0.1",
  "manifest_version": 2,
  // 描述
  "description": "my first chrome plug",

  // 瀏覽器action
  "browser_action": {
    "default_icon": "image/icon.png",
    "default_popup": "html/demo01.html"
  },

  // 腳本引入
  "content_scripts": [
    {
      "js": ["script/demo01.js"],
      // 匹配規則,在什麼狀況下使用該腳本
      "matches": [
        "http://*/*",
        "https://*/*"
      ],
      // 什麼狀況下運行【文檔加載開始】
      "run_at": "document_start"
    }
  ],
  // 應用協議頁面
  "permissions": [
    "http://*/*",
    "https://*/*"
  ]
}

咱們這個插件最後的效果就是,點擊插件以後會顯示一個h2的「go」文字框,js裏面那段當即執行函數會在控制檯打印出 「插件已經運行!」,最後的maniifest.json也已經寫好註釋,基本上都是見名知意。

go!安裝運行

如今基本上已經大功告成了,一個最簡單的chrome插件就已經完成了,是真的很簡單吧。

如今把咱們的第一個插件安裝一下,在chrome瀏覽器中輸入chrome://extensions,這時候會進入chrome擴展插件頁面,以下:
圖片描述

在安裝以前須要勾選上開發者模式,而後點擊左上角"加載已解壓的擴展程序",選擇項目的根目錄,個人根目錄是chrome插件,因此直接選擇該目錄,chrome就能夠根據maniifest.json的元數據對你的插件進行初始化了。

固然你也能夠把剛剛咱們作的項目打包,咱們暫時不討論這個問題。

好了,到目前爲止,咱們的插件已經能夠正常工做了,來看看效果吧!
圖片描述

是否是,咱們的的go已經顯示出來啦!說明demo01.html已經正常工做了,那麼咱們再測試一下demo01.js能不能正常工做,咱們隨便打開一個網頁,Windows下F12打開控制檯,能夠看到咱們打印的文字已經成功顯示出來了。
圖片描述

第一篇之結束語

相信很多同窗在看完了咱們開發之旅的第一篇文章以後,對chrome插件開發已經不陌生了,甚至已經以爲很簡單了,那麼請呵呵的笑一下,由於他確實簡單,也確實不簡單。插件這個東西難點不在技術,而在好的創意,插件是工具,工具就是用來解決問題的。

若是你跟着個人文章把目錄和文件都建好了,根據流程一步一步的作下去,那麼你的第一個插件也應該能夠成功運行了,固然若是中間還有一些小的問題,我會根據文後評論區同窗們的意見在第二篇的時候給你們詳細解答,而且下一篇文章chrom瀏覽器插件開發之旅(二)會給你們更深一點的介紹chrome插件。

後面的幾節課程會陸續開發幾個新奇有意思的chrome插件,你們拭目以待吧!

相關文章
相關標籤/搜索