关于chrome-extension:Chrome-Extension-v3-开发指南
扩大程序是基于事件的程序,用于批改或加强 Chrome 浏览体验,如果此时你想构建一个 Chrome 扩大程序,并致力寻找一篇涵盖 Chrome 扩大程序的整个构思、构建和启动过程的文章,这里有一个综合指南,可帮忙您实现整个过程。 本文分几个局部解说 Chrome 扩大开发的全流程以及高级应用技巧,实用用最新的 v3 版本,心愿这能够节俭您浏览和综合来自多篇文章的信息的工夫,具体内容请参阅官网文档。 为什么是V3?更高的安全性、隐衷性和性能反对 service workers 和 promises取得更疾速的代码审核Chrome 网上利用店不再承受 Manifest V2 扩大为什么应用 Chrome 扩大程序?开发门槛低 简直反对任意的技术栈,对于前端入门用户如果想开发一个简略的用于加强用户体验的插件性能,例如高亮关键字、减少黑夜模式等会比开发传统相似性能的网站和挪动利用成本低的多,即便你不会应用 React 或者 Vue 你也能够通过 Jquery 又或者是原生 Javascript 去实现它。 覆盖范围广 Chrome 在市场份额上以很大的劣势击败了其余浏览器,因而,优先开发 Chrome 扩大是获取下载量和流量最好的入口。插件部署后,所有 Chrome 用户都能够在Chrome 网上利用店下载你的扩大程序。 u can do whtever u want 在你的扩大程序中,你能够不必为浏览器的同源策略担心,你能够在你想要的任意网站中"侵入"你本人的代码,你能够像 React devTools 那样加强你本人的调试器,你甚至能够在你的扩大程序中治理他人的扩大程序(如防钓鱼,防沉迷等)。 Chrome Extension 架构组成manifest.json{ "name": "__MSG_extName__", // 国际化语法,或默认去根目录下找_locales.en(对应的语言包).message.extName "version": "1.0.0", "description": "__MSG_extDescription__", // 同name "icons": { '16': 'src/assets/icons/icon16.png', '32': 'src/assets/icons/icon32.png', '48': 'src/assets/icons/icon48.png', '128': 'src/assets/icons/icon128.png' },"background": { "persistent": false, // 放弃后盾脚本继续流动的惟一状况是扩大应用chrome.webRequest API 来阻止或批改网络申请。webRequest API 与非持久性后盾页面不兼容。默认状况下,"persistent"设置为 true。 "scripts": [ "background.js" ] }, "content_scripts": [ { "js": [ 'src/content/ethers/address.tsx' ], "matches": [ "*://etherscan.io/address/*", "*://*.bscscan.com/address/*" ] } ],"web_accessible_resources": [ { "matches": ['<all_urls>'], "resources": ['src/assets/images/*.png'] } ], "action": { "default_popup": 'src/popup/popup.html', "default_icon": { '16': 'src/assets/icons/icon16.png', '32': 'src/assets/icons/icon32.png', '48': 'src/assets/icons/icon48.png', '128': 'src/assets/icons/icon128.png' } }, "permissions": ['storage', 'webNavigation', 'webRequest'], // 没有用到的权限不要增加,否则审核过不了 "host_permissions": [ '*://explorer.btc.com/*', '*://etherscan.io/*', '*://cn.etherscan.com/*', '*://polygonscan.com/*', '*://*.bscscan.com/*', '*://snowtrace.io/*', '*://optimistic.etherscan.io/*', '*://arbiscan.io/*', '*://ftmscan.com/*', '*://cronoscan.com/*', '*://*.moonscan.io/*', 'https://*.blocksec.com/*', // 本人的业务申请api域名,这样才不会跨域 'https://explorer.api.btc.com/*' // 应用webRequest监听申请信息,被监听的域名也要配置,否则不失效 ] }配置清单有几个留神点: ...