溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

火狐擴展WebExtension新手入門

發(fā)布時間:2020-07-26 20:49:33 來源:網(wǎng)絡 閱讀:4641 作者:nw01f 欄目:開發(fā)技術(shù)
什么是WebExtension?

WebExtension(擴展)是夸瀏覽器用于開發(fā)附加組建的工具。在很大程度上與谷歌、歐朋等瀏覽器兼容。

WebExtension 剖析

WebExtension 是一個打包好的、可供發(fā)布的安裝包,該安裝包包含若干文件。

每個WebExtension必須包含一個名為"manifest.json"(manifest 表現(xiàn),表明),該文件可以指向如下類型的文件

  • background pages:執(zhí)行一個長時間運行的邏輯

  • content scripts:與網(wǎng)頁進行交互(與JS在頁面中的<script>元素不一樣)

  • browser action files:在工具欄中添加按鈕

  • page action files:在地址欄添加按鈕

  • options pages:為用戶定義一個可瀏覽的UI界面,可以改變曾經(jīng)的設置

  • web-accessible resources:是打包好的內(nèi)容可用于網(wǎng)頁與目錄腳本

manifest.json

唯一一個在每個WebExtension中必須存在的文件。包含了關(guān)于這個擴展插件基本的元數(shù)據(jù)。比如擴展的名字,版本和所需權(quán)限。以及擴張需要的版本信息與權(quán)限。并且,也對WebExtension中其他文件進行了鏈接。

WebExtension 剖析官網(wǎng)詳細信息

第一個WebExtension

創(chuàng)建WebExtension項目的目錄

mkdir borderify
cd borderify
manifest.json

在borderify 目錄內(nèi)創(chuàng)建 "manifest.json" 文件。

{	"manifest_version": 2,#腳本類型必須為2,theme為4
	"name": "Broderify",#擴展名必須
	"version": "1.0",#擴展版本必須
	"description": "first test",#擴展描述可選
	"homepage_url": "http://dearch.blog.51cto.com",#擴展主頁鏈接
	"icons": {
	    "48": "icons/border-48.png"
	},#擴展圖標可選

	"content_scripts": [
		{	"matches": ["<all_urls>"],#URL匹配規(guī)則與正則不同,表示配置所有網(wǎng)址
			"js": ["borderify.js"]
		}
	]#頁面交互腳本
}

content_scripts告訴Firefox通過模式匹配網(wǎng)頁的URL并加載腳本,在上面的案例中,我們要求Firefox將所有的網(wǎng)頁全部加載一個 "borderify.js"腳本

URL匹配規(guī)則詳細信息

borderify.js

最后在 "borderify" 目錄下直接創(chuàng)建 "borderify.js":

document.body.style.border = "5px solid green";
測試效果

檢查文件是否在正確的位置:

borderify/
    icons/
        border-48.png
    broderify.js
    manifest.json

打開火狐瀏覽器的"about:debugging"頁面,點擊"臨時加載附加組件按鈕"并選擇你的附加組件目錄:

火狐擴展WebExtension新手入門

組件將會被安裝,現(xiàn)在可以新打開一個頁面,頁面上有一個綠色的邊框,如果沒有出現(xiàn)重啟一下瀏覽器。 火狐擴展WebExtension新手入門

火狐擴展WebExtension新手入門

卸載擴展

打開火狐瀏覽器菜單,選擇"附加組件" 或者直接地址欄輸入 "about:addons" 火狐擴展WebExtension新手入門

火狐擴展WebExtension新手入門

WebEXtension開發(fā)官方網(wǎng)址

以上實例可以直接使用于 谷歌瀏覽器 。


附件:http://down.51cto.com/data/2366499
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI