如何用原生js開發一個Chrome擴展程序


原文地址:How to Build a Simple Chrome Extension in Vanilla JavaScript

開發一個Chrome擴展程序非常簡單,只需要使用原生的js就可以完成,在本文中,我將在幾分鍾內引導你完成一個簡單的擴展程序

關於Chrome擴展程序

Chrome 擴展程序本質上只是一組可以自定義 Google Chrome 瀏覽器體驗的文件。Chrome 擴展程序有幾種不同的類型;有些在滿足某個特定條件時激活,例如當你來到商店的結賬頁面時;有些只在你點擊圖標時彈出;還有些每次打開新標簽時都會出現。今年我發布的兩個擴展程序都是“新標簽”類型的;第一個是 Compliment Dash,這是一個用於保存待辦事項列表並贊美用戶的 dashboard,第二個是 Liturgical.li,一款針對牧師的工具。如果你知道如何開發簡單的網頁,那么你就可以毫不費力地開發這類擴展程序。

創建項目文件

首先需要創建一個目錄,在目錄下創建  index.html,   main.css,  main.js,  manifest.json

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Dashboard</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    
</head>
<body>
    <h1>hi,歡迎您</h1>
    <script src="main.js"></script>
</body>
</html>

manifest.json

要在Chrome上運行擴展程序,就必須要一個 manifest.json 文件,你可以在Google的開發人員網站上下載該文件,也可以直接新建 manifest.json文件,並將下面的代碼復制進去

{
  "name": "Getting Started Example",
  "version": "1.0",
  "description": "Build an Extension!",
  "manifest_version": 2
}

現在我們更改這段代碼的配置

{
  "name": "Simple Greeting Dashboard",
  
  "version": "1.0",
  
  "description": "This Chrome extension greets the user each time they open a new tab",
  
  "manifest_version": 2
  "incognito": "split",
  
  "chrome_url_overrides": {
    "newtab": "index.html"
  },
  
  "permissions": [
     "activeTab"
   ]
}

更多其他選項請參考 Chrome開發者文檔

"incognito": "split" 字段會告知 Chrome 在處於隱身模式時如何處理這個擴展程序。

"chrome_url_overrides" 告訴 Chrome 每次打開新標簽時都會打開 index.html

"permissions" 的值會在用戶試圖安裝這個擴展程序時,向用戶提供一個彈框提示,讓他們知道這個擴展程序將覆蓋他們的新標簽。

 

上傳文件

通過以上信息,你就可以創建自己的新標簽Chrome擴展程序,在自定義manifest.json 文件后,你可以通過HTML、CSS、JavaScript設計你想要的任意類型的新標簽

當你完成以上配置之后,開始上傳,打開 chrome://extensions/ 並切換右上角的開發者模式,將其處於開啟狀態

刷新頁面,點擊  加載已解壓的擴展程序 

選擇你存儲該文件的目錄,打開就可以了,導入成功之后會出現一個新的擴展程序

這樣在每次打開新標簽都會出現你創建的頁面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM