91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

人人都能手寫的chrome插件,幫我省了1000多塊錢

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-09-27 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在網(wǎng)購的世界里,價格波動常常讓人感到無奈?!毒〇|價?!凡寮ㄟ^定時監(jiān)控已購商品價格變化,降價自動申請京東價格保護,幫我省下了不少錢。

作為一個前端開發(fā)工程師,這讓我意識到,手寫一個瀏覽器插件是一件很有趣且有意義的事。

于是,我決定嘗試自己動手,開發(fā)一個簡單的二維碼生成器插件,各位小伙伴也可參考以下步驟實現(xiàn)自己想要的插件。

一、 為什么要手寫瀏覽器插件

手寫插件有許多好處,以下是一些詳細的原因:

1.1 個性化定制

手寫插件可以根據(jù)個人需求進行定制。市面上的插件功能可能不完全符合你的需求,而自己動手開發(fā)插件,可以精確地實現(xiàn)你想要的功能。

1.2. 解決特定問題

有時,你可能需要一個非常特定的功能,而現(xiàn)有的插件無法提供。手寫插件可以幫助你快速解決這些特定問題,提高工作效率。

1.3 增強安全性

使用第三方插件時,安全性是一個重要的考慮因素。自己開發(fā)插件,可以確保代碼的安全性,避免潛在的隱私泄露或惡意行為。

1.4 節(jié)省成本

雖然許多插件是免費的,但一些高級功能需要付費。通過手寫插件,你可以免費獲得這些功能,同時避免不必要的開支。

總之,手寫插件不僅能帶來技術(shù)上的成長,還能在日常生活中提供實際的便利和解決方案。

二、 如何手寫瀏覽器插件

2.1 認識插件目錄結(jié)構(gòu)

一個 Chrome 插件通常包含以下文件和目錄:

my-qrcode-plugin/
│
├── manifest.json  // 插件的配置文件,定義插件的基本信息、權(quán)限和功能。
├── background.js  // 后臺腳本,負責處理插件的邏輯,例如創(chuàng)建右鍵菜單。
├── popup.html     // 插件的彈出頁面,用戶點擊插件圖標時顯示。
├── http://www.makelele.cn/images/chaijie_default.png       // 插件的彈出頁面,執(zhí)行的腳本。
└── icons/         // 存放插件的圖標,建議提供 16x16、48x48 和 128x128 像素的圖標,不同大小的圖標有不同的作用。
    ├── icon16.png
    ├── icon48.png
    └── icon128.png
    

2.2 編寫 manifest.json

manifest.json 是插件的核心配置文件:

{
 "manifest_version": 3,
 "name": "QR Code Generator",
 "version": "1.0",
 "permissions": ["contextMenus", "activeTab", "scripting"],
 "icons": {
   "16": "icons/icon16.png",
   "48": "icons/icon48.png",
   "128": "icons/icon128.png"
  },
 "background": {
 "service_worker": "background.js"
  },
 "action": {
 "default_popup": "popup.html"
  }
}

2.3 編寫 background.js

background.js 負責插件后臺的邏輯實現(xiàn):

chrome.runtime.onInstalled.addListener(() => {
 chrome.contextMenus.create({
   id: "generateQRCode",
   title: "Generate QR Code",
   contexts: ["page"]
 });
});

chrome.contextMenus.onClicked.addListener((info, tab) => {
 if (info.menuItemId === "generateQRCode") {
 const url = tab.url;
 const apiUrl = `https://api.cl2wm.cn/api/qrcode/code?text=${url}&mhid=sELPDFnok80gPHovKdI`;

 chrome.scripting.executeScript({
   target: { tabId: tab.id },
   func: showQRCode,
   args: [apiUrl]
 });
 }
});

function showQRCode(apiUrl) {
 const iframe = document.createElement('iframe');
 iframe.style.position = 'fixed';
 iframe.style.top = '50%';
 iframe.style.left = '50%';
 iframe.style.transform = 'translate(-50%, -50%)';
 iframe.style.width = '500px';
 iframe.style.height = '500px';
 iframe.style.border = 'none';
 iframe.style.zIndex = '1000'; // 確保在最上層
 iframe.src = apiUrl;

 document.body.appendChild(iframe);

 setTimeout(() => {
   iframe.remove();
 }, 5000);
}

2.4 編寫 popup.html

popup.html 是插件的用戶界面:





 
 
 QR Code Generator
 
 body {
   width: 500px;
   height: 500px;
   display: flex;
   justify-content: center;
   align-items: center;
   font-family: Arial, sans-serif;
 }

 #qrcode iframe {
   width: 500px;
   height: 500px;
   border: none;
 }
 


2.5 編寫 http://www.makelele.cn/images/chaijie_default.png

http://www.makelele.cn/images/chaijie_default.png 是插件的用戶界面的執(zhí)行腳本:

document.addEventListener('DOMContentLoaded', function() {
 chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
 if (tabs.length === 0) {
   console.error('No active tab found');
   return;
 }

 const url = tabs[0].url;
 const apiUrl = `https://api.cl2wm.cn/api/qrcode/code?text=${url}&mhid=sELPDFnok80gPHovKdI`;

 const iframe = document.getElementById('qrFrame');
   iframe.src = apiUrl;
 });
});

2.6 驗證插件功能

在瀏覽器上測試 Chrome 插件功能,可以通過以下步驟進行:

2.6.1. 加載未打包的擴展

1.打開 Chrome 瀏覽器。

2.輸入 `chrome://extensions/` 進入擴展管理頁面。

3.打開右上角的“開發(fā)者模式”。

4.點擊“加載已解壓的擴展程序”按鈕。

5.選擇你的插件目錄(my-qrcode-plugin)。

2.6.2. 驗證功能

1. 在任意一個網(wǎng)頁中, 通過鼠標右鍵找到菜單 Generate QR Code, 點擊該菜單,頁面生成一個二維碼,手機掃描二維碼即是該網(wǎng)頁,5S后二維碼消失視為驗證通過。

右鍵菜單截圖:

?

wKgZomb2U6OAPV-KAAPotSlZS3c384.png

??

二維碼生成效果圖:

wKgaomb2U6SAGSyXAAPXow_xMAU879.png

??

2. 在瀏覽器右上角選擇該插件《Generate QR Code》,在網(wǎng)頁右上角生成對應(yīng)的二維碼,二維碼不消失,視為驗證通過。

右上角插件入口截圖:

wKgZomb2U6aACXHJAAXImlSFgfw562.png

??

二維碼效果圖:

wKgaomb2U6eAQtARAAU5Ab7P90w192.png

??

2.6.3. 實時修改和刷新

1.在開發(fā)者工具中修改代碼后,可以直接保存并刷新插件或頁面以查看更改效果。

2.通過“重新加載”按鈕在擴展管理頁面中更新插件。

通過這些步驟,你可以在瀏覽器中高效地測試和調(diào)試 Chrome 插件的功能。

三、 插件發(fā)布到 Chrome Web Store

以下的發(fā)布谷歌插件的步驟

1. 創(chuàng)建開發(fā)者賬號: 前往 [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/developer/dashboard) 創(chuàng)建開發(fā)者賬號。

2. 打包插件: 在 Chrome 瀏覽器中,進入擴展程序頁面,點擊“打包擴展程序”,選擇插件的根目錄進行打包。

3. 上傳插件: 登錄開發(fā)者賬號,上傳打包后的 `.zip` 文件。

4. 填寫信息: 填寫插件的詳細信息,包括名稱、描述、截圖等。

5. 支付費用: 支付一次性注冊費用:5美元。

6. 提交審核: 提交插件進行審核,審核通過后即可發(fā)布。

由于博主囊中羞澀, 就沒有支付費用, 各位感興趣的小伙伴可以通過以上步驟嘗試去發(fā)布自己的插件,讓更多的人看到。

四、 總結(jié)

本文通過《京東價?!凡寮o我?guī)淼谋憷?,引發(fā)了個人探索瀏覽器插件的思考。 通過實現(xiàn)一個簡單的瀏覽器插件,幫助我們認識、掌握、應(yīng)用瀏覽器插件的基本原理。更深入的知識咱們可以通過官網(wǎng)去學習。

?

最后,最重要的一點:

歡迎評論區(qū)互動, 大家一起來找bug。

歡迎大家交流學習,共同成長。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 前端
    +關(guān)注

    關(guān)注

    1

    文章

    244

    瀏覽量

    18830
  • 開發(fā)工程師
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    15374
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【正點原子STM32N647開發(fā)板試用】--手寫識別

    本篇講述觸摸屏手寫識別數(shù)字及大小寫字母。一.實現(xiàn)原理 觸摸顯示屏在有觸摸時顯示并記錄觸摸軌跡,觸摸松開后,進行手寫識別。 二.代碼準備 1.屏顯功能 RGB屏顯示功能資源文件在Drivers
    發(fā)表于 02-01 18:26

    貼片電感相比于插件電感具有什么優(yōu)勢?

    小于傳統(tǒng)插件電感。例如,常見的0402、0603等封裝尺寸能夠滿足智能手機、可穿戴設(shè)備等對空間要求嚴苛的應(yīng)用場景。通過優(yōu)化內(nèi)部結(jié)構(gòu),貼片電感在微小體積下仍能提供優(yōu)異的電感值和電流承載能力。 2、高頻特性好 :貼片電感具有較高
    的頭像 發(fā)表于 12-18 14:13 ?387次閱讀

    小凌派rk2006要連接這個舵機是怎么樣弄啊,有沒有人人教教我

    小凌派rk2006要連接這個舵機是怎么樣弄啊,有沒有人人教教我啊
    發(fā)表于 12-13 15:49

    3萬字長文!深度解析大語言模型LLM原理

    繼續(xù)追本溯源,與騰訊學堂合作撰寫本文,嘗試讓人人都能懂大語言模型的基礎(chǔ)原理。1、大語言模型簡述截止到2025年“大模型”一般泛指“超大參數(shù)模型”,參數(shù)是指深度神經(jīng)
    的頭像 發(fā)表于 09-02 13:34 ?3513次閱讀
    3萬字長文!深度解析大語言模型LLM原理

    塊錢讓電視機從“單向播放”實現(xiàn)“雙向互動”

    ”如何讓傳統(tǒng)電視機由單向內(nèi)容傳輸變?yōu)椤半p向互相”,實現(xiàn)“主動感知、無感交互、精準服務(wù)”,成為終端廠商與方案商實現(xiàn)電視機智能升級的核心課題之一。一顆10塊錢的24G雷
    的頭像 發(fā)表于 08-11 12:04 ?1249次閱讀
    幾<b class='flag-5'>塊錢</b>讓電視機從“單向播放”實現(xiàn)“雙向互動”

    解鎖本地設(shè)備交互:機智云端插件接入Gokit5實戰(zhàn)指南(音量/亮度控制)

    插件使用說明機智云端插件目前支持Gokit5的按鍵亮度調(diào)節(jié)、播放音量調(diào)節(jié),可用于自然語言控制設(shè)備。1、端插件是什么端插件是扣子插件的一種類
    的頭像 發(fā)表于 07-30 18:03 ?710次閱讀
    解鎖本地設(shè)備交互:機智云端<b class='flag-5'>插件</b>接入Gokit5實戰(zhàn)指南(音量/亮度控制)

    基于LockAI視覺識別模塊:手寫數(shù)字識別

    手寫數(shù)字識別是一種經(jīng)典的模式識別和圖像處理問題,旨在通過計算機自動識別用戶手寫的數(shù)字。 本文將教會你如何使用基于RV1106的 LockAI視覺識別模塊進行手寫數(shù)字識別。 源代碼:https
    發(fā)表于 06-30 16:45

    基于LockAI視覺識別模塊:手寫數(shù)字識別

    手寫數(shù)字識別是一種經(jīng)典的模式識別和圖像處理問題,旨在通過計算機自動識別用戶手寫的數(shù)字。本文將教會你如何使用基于RV1106的LockAI視覺識別模塊進行手寫數(shù)字識別。
    的頭像 發(fā)表于 06-30 15:44 ?1169次閱讀
    基于LockAI視覺識別模塊:<b class='flag-5'>手寫</b>數(shù)字識別

    用 VSCode 編寫自己的 KiCad 插件(下)

    “ ?很多小伙伴都想自己開發(fā) KiCad 插件,但不知從何入手。本文由華秋電子的另一位 KiCad 開發(fā)者波波同學撰寫,分享了如何快速搭建環(huán)境,并開發(fā)一個簡單的插件。? ” ? ? ? 所有環(huán)境配置
    的頭像 發(fā)表于 06-19 11:44 ?2938次閱讀
    用 VSCode 編寫自己的 KiCad <b class='flag-5'>插件</b>(下)

    用VSCode編寫自己的KiCad插件(上)詳細步驟教程

    “ ?很多小伙伴都想自己開發(fā) KiCad 插件,但不知從何入手。本文由華秋電子的另一位 KiCad 開發(fā)者波波同學撰寫,分享了如何快速搭建環(huán)境,并開發(fā)一個簡單的插件。? ” 目標 ? ? 編寫一個
    的頭像 發(fā)表于 06-17 11:10 ?3157次閱讀
    用VSCode編寫自己的KiCad<b class='flag-5'>插件</b>(上)詳細步驟教程

    FS2601手寫擦寫板集成IC中文手冊

    電子發(fā)燒友網(wǎng)站提供《FS2601手寫擦寫板集成IC中文手冊.pdf》資料免費下載
    發(fā)表于 05-30 15:35 ?0次下載

    液晶手寫板像素缺陷修復(fù)及相關(guān)液晶線路激光修復(fù)

    引言 液晶手寫板憑借便捷書寫、環(huán)保節(jié)能等優(yōu)勢廣泛應(yīng)用于教育、辦公等領(lǐng)域,然而像素缺陷會嚴重影響書寫流暢度與顯示清晰度。研究像素缺陷修復(fù)及相關(guān)液晶線路激光修復(fù)技術(shù),對提升液晶手寫板性能與用戶
    的頭像 發(fā)表于 05-19 09:36 ?1141次閱讀
    液晶<b class='flag-5'>手寫</b>板像素缺陷修復(fù)及相關(guān)液晶線路激光修復(fù)

    SDS1000CNL+/DL + 系列示波器真香體驗

    SDS1000CNL+/DL + 系列數(shù)字示波器這臺示波器徹底改變了我做實驗的效率,不管是日常調(diào)試電路,還是研究復(fù)雜信號,都能輕松拿捏。
    的頭像 發(fā)表于 05-09 13:39 ?792次閱讀
    SDS<b class='flag-5'>1000</b>CNL+/DL + 系列示波器真香體驗

    [迅為]Linux開發(fā)小技巧:Remote - SSH插件

    [迅為]Linux開發(fā)小技巧:Remote - SSH插件
    的頭像 發(fā)表于 04-01 15:46 ?1223次閱讀
    [迅為]Linux開發(fā)小技巧:Remote - SSH<b class='flag-5'>插件</b>

    S32DS for ARM版本3.6.0 IAR插件安裝無法安裝怎么解決?

    我正在嘗試為 S32DS 安裝 IAR 插件,但失敗。當我到達以下點時,它失敗了:(完成) 錯誤信息: 收集要安裝的項目時出錯 會話上下文為:(profile=DefaultProfile
    發(fā)表于 03-27 08:30