网站的搜索引擎网页qq邮箱登录
- 作者: 五速梦信息网
- 时间: 2026年04月20日 08:10
当前位置: 首页 > news >正文
网站的搜索引擎,网页qq邮箱登录,百度怎么网站排名,网站运营系统前言#xff1a;Chrome从2022年6月开始#xff0c;新发布插件只接受V3版。2024年V2版已从应用商店下架。 浏览器扩展插件开发API文档 chrome官网#xff08;要翻墙#xff09;#xff1a; https://developer.chrome.com/docs/extensions/mv3 MDN中文#xff1a;https:/… 前言Chrome从2022年6月开始新发布插件只接受V3版。2024年V2版已从应用商店下架。 浏览器扩展插件开发API文档 chrome官网要翻墙 https://developer.chrome.com/docs/extensions/mv3 MDN中文https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json MDN英文https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json 搜狗扩展开发文档API制定规范简介 - 《搜狗浏览器开发者文档》 - 书栈网 · BookStack chrome扩展开发中文教程(manifest v2) chrome谷歌浏览器开发文档 360浏览器扩展开发教程(manifest v2) 开发文档 参考文章感谢作者 V2版天花板【干货】Chrome插件(扩展)开发全攻略-好记的博客 V2-小茗同学 https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html 记录Chrome插件从V2版本升级到V3版本的过程中遇到的问题_background.scripts requires manifest version of 2-CSDN博客 chrome扩展(插件) V3版本使用_chrome插件v3中文手册-CSDN博客 Chrome 浏览器插件 Manifest.json V3 中权限Permissions字段解析_chrome插件permissions-CSDN博客 V3 版本 Manifest.json 文件全字段解析 https://zhuanlan.zhihu.com/p/678368901 两万字数从0到1带你开发 Chrome 浏览器 Manifest V3 版本插件-CSDN博客 Chrome扩展-相关API操作 侧边栏chrome.devtools API操作项chrome.action API菜单项chrome.contextMenus API显示桌面通知chrome.notifications API管理历史记录chrome.history API本地存储chrome.storage API控制标签页和窗口chrome.tabs、chrome.tabGroups 和 chrome.windows 等 API键盘快捷键chrome.commands API身份认证chrome.identity API管理插件chrome.management API提供建议chrome.omnibox API更新 Chrome 设置chrome.proxy API下载管理chrome.downloads API书签chrome.bookmarks API请求网络chrome.webRequest API Chrome扩展 控制网络 可以通过注入脚本、拦截网络请求以及使用 Web API 与网页进行交互来控制和修改 Web 注入 JS 和 CSS 文件访问当前 Tab 页控制 Web 请求录音和屏幕截图修改网站设置 manifest.json manifest_version从Chrome 18开始开发者应该指定版本号为2从2022年6月开始新发布插件只接受V3版。 一图看懂manifest.json结构v3中browser action和page action已合并为action manifest.json的所有参数 // manifest.json里面的所有参数 // https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json { author backgroundbrowser_action仅 Manifest V2 page_action仅 Chrome 中的 Manifest V2 actionManifest V3 及以上-v2中的browser_action和page_action合并的 user_scripts仅 Manifest V2 permissionsV2中是ChromeAPI权限和主机权限V3只是ChromeAPI权限 host_permissions主机权限Manifest V3 及以上browser_specific_settings chrome_settings_overrides chrome_url_overrides commands content_scripts content_security_policy declarative_net_request default_locale description developer devtools_page dictionaries externally_connectable homepage_url icons incognito manifest_version name offline_enabled omnibox optional_permissions options_page options_ui protocol_handlers short_name sidebar_action storage theme theme_experiment version version_name web_accessible_resources } manifest.json的常用参数 //manifest.json的常用参数 {//chrome插件的版本manifest_version: 3,//插件名称name: chrome浏览器扩展_名称,//插件版本号version: 1.0.0,//插件描述description: 一个简单的浏览器插件,//默认语言(如果当前浏览器设置的语言不存在多语言配置文件则默认中文)Chrome插件的多语言只能根据当前浏览器设置的语言来设定无法通过代码更改语言default_locale: zh_CN,//内容安全政策V2的value是字符串V3是对象content_security_policy: {//原文此政策涵盖您的扩展程序中的页面包括 html 文件和服务人员具体不是很明白但是参数值得是self即当前自己extension_pages: script-src self; object-src self,//原文此政策涵盖您的扩展程序使用的任何[沙盒扩展程序页面]具体不是很明白但是参数值得是self即当前自己sandbox: sandbox allow-scripts; script-src self; object-src self},//key发布插件后会给一个key把那个key的值放这里key: xxx,//icon浏览器扩展程序管理里面的图标、浏览器右侧插件图标点开的下拉菜单展示的已开启插件的图标、以及插件详情页的标签卡的那个小图标icons: {16: assets/img/rw_logo_16.png,32: assets/img/rw_logo_32.png,48: assets/img/rw_logo_48.png,128: assets/img/rw_logo_128.png},//背景页后台脚本引入v2是scripts:[xxx,xxx]可以引入多个js文件// v3是service_workerxxx只能引入一个js其他js文件可以在当前引入的js文件里面import引入// 扩展程序管理界面的插件的那个“背景页”也将变成“Service Worker”改动之后background.js将和浏览器完全分离即无法调用window和ducoment对象//可以看介绍//1、//developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/#background-service-workers//2、//developer.chrome.com/docs/extensions/mv3/migrating_to_service_workers/background: {service_worker: js/background.js,// 插件的后台脚本的类型可以是 module 或者 scripttype: module },//注入脚本值是个数组对象可以有多个对象content_scripts: [//每个对象代表一个注入的配置{//需要在指定页面注入的js脚本文件js: [js/content-script/jquery.min.js,js/content-script/content.js],//需要注入js脚本文件的指定页面matches: [://.example.net/,://.example.com/,://.lagou.com/],//不允许注入js脚本文件的指定页面exclude_matches: [https://.xxx.com/],//什么时候注入的js脚本document_start页面加载开始时document_end页面加载结束时run_at: document_start}],//v2配置权限在v2中的权限配置中ChromeAPI权限和主机权限是一起配置的。v3是分开的//ChromeAPI权限需要使用Chrome的一些API的话需要配置对应的API权限,否则会报错未添加权限而无法使用,如tags标签页,contextMenus添加自定义右键菜单项)// https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissionspermissions: [cookies, // 允许插件访问浏览器的 cookiecontextMenus, // 自定义创建右键菜单APItabs, // 允许插件访问浏览器的 tab选项卡APIstorage, // 允许插件访问浏览器的 缓存APIwebRequest, // 监听浏览器请求API…],// 主机权限主机权限也可以称为请求白名单权限在背景页backgroud.js里面或者popup页面调用某个网站请求时增加该网站的白名单权限如果没添加的则调用请求会报跨域)host_permissions: [https://.example.net/,https://.example.com/],// 在浏览器插件图片上右键会出现该插件名称点击插件名称跳转的页面homepage_url: https://www.example.com,//动作API原文在 Manifest V2 中有两种不同的 API 来实现操作 browser_action 和 page_action . 这些 API 在引入时扮演了不同的角色但随着时间的推移它们变得多余因此在 Manifest V3 中我们将它们统一为单个 action API //v3配置在v3中需要把browser_action废弃了需要改成action同时插件图标的点击监听事件也是一样把chrome.browserAction改成chrome.action//如果不添加action这个配置参数的话chrome.action.onClicked.addListener()这个监听方法会无效action: {default_icon: { // 默认图标的文件路径16: assets/img/rw_logo_16.png,32: assets/img/rw_logo_32.png,48: assets/img/rw_logo_48.png,128: assets/img/rw_logo_128.png}default_title: 插件标题, // 默认是插件名称default_popup: html/popup.html, // 弹出窗口的 HTML 文件路径}//通过网络访问的资源对象中分了可外部访问的资源以及允许哪些外部网站可以访问该资源web_accessible_resources: [{//允许访问的资源路径数组传多个参数resources: [assets/img/logo.png,assets/img/big.png,],//允许访问资源的网站域名matches: [https://.example.net/,https://.example.com/]}] }v2升为v3后的注意点 v2升级为v3后background的区别 v2版本后台是叫background 背景页配置background:[.js,.js,.js…]里面的js文件都会在背景页里面引入加载进去v2版本背景页中是可以调用window对象和document对象的(即可以引用jQuery.js之后使用\(.ajax去发送请求)。 v3版本后台是叫service_worker 服务者配置service_worker: background.js只能添加一个js文件如果还需要引用其它js则只能在那个js文件里面用vue的import引入方式把其它文件引入加载v3版本的service_worker 服务者中无法调用window和document对象(即无法引用jQuery.js也就无法使用\).ajax发送请求了因为jQuery是基于原生写的里面有需要用到document对象)且原生的XMLHttpRequest请求也无法使用以及vue的axios也是想要调用请求需要用fetch()去进行请求。 v3版本里面的content_script.js 还是可以调用window、document、location对象的 消息监听 // content_script.js// 向 service_worker 发送消息chrome.runtime.sendMessage({action: getJobInfo,message:需要职位信息,jobId:1},function(response) {console.log(收到后台发过来的职位信息,response);});// background.js// 在 service_worker 中接收消息chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) {if (msg.action getJobInfo) {//可根据msg.jobId调用后端接口获取职位信息返回到contentsendResponse({answer:收到${msg.action}消息马上传给你,data:{……}});}});
- 上一篇: 网站的数据库丢失武夷山网站设计
- 下一篇: 网站的特点有那些商业网站规划






