浏览器插件 - Chrome 对 UserScript 的声明头(metadata)兼容性一览
1.这里的UserScript指的是,油猴插件或者Tampermonkey插件等支持的格式如下例子:
// ==UserScript== // @name // @namespace http://AsionTang.CN // @version 0.1 // @description // @match <$URL$> // @copyright 2013+, AsionTang // @grant none // ==/UserScript==
而谷歌浏览器直接支持将此脚本安装为扩展。那么在编写此脚本时,出现的疑问是:谷歌浏览器对 UserScript 脚本的兼容性如何?
网搜答案没有简单得到答案,但是多亏开源的优势,直接阅读Chrome的源代码即可得到答案:
Chrome相关源码参考地址:Log of /trunk/src/chrome/browser/extensions/user_script_master.cc
当前为201855版本可见如下代码:
static const base::StringPiece kUserScriptBegin("// ==UserScript=="); 72 static const base::StringPiece kUserScriptEng("// ==/UserScript=="); 73 static const base::StringPiece kNamespaceDeclaration("// @namespace"); 74 static const base::StringPiece kNameDeclaration("// @name"); 75 static const base::StringPiece kVersionDeclaration("// @version"); 76 static const base::StringPiece kDescriptionDeclaration("// @description"); 77 static const base::StringPiece kIncludeDeclaration("// @include"); 78 static const base::StringPiece kExcludeDeclaration("// @exclude"); 79 static const base::StringPiece kMatchDeclaration("// @match"); 80 static const base::StringPiece kExcludeMatchDeclaration("// @exclude_match"); 81 static const base::StringPiece kRunAtDeclaration("// @run-at"); 82 static const base::StringPiece kRunAtDocumentStartValue("document-start"); 83 static const base::StringPiece kRunAtDocumentEndValue("document-end"); 84 static const base::StringPiece kRunAtDocumentIdleValue("document-idle");
而在源码最后还有一句:
// TODO(aa): Handle more types of metadata.
那么可见,当前尚有很多UserScript的声明头没有得到支持。
转载于:https://www.cnblogs.com/AsionTang/p/3442969.html
浏览器插件 - Chrome 对 UserScript 的声明头(metadata)兼容性一览相关推荐
- 浏览器插件的开发学习
今天闲来无事,想到公司在开发浏览器插件的问题上比较纠结,所以我整理了下,以便以后用到可以快速上手 谷歌浏览器插件是一种小型的用于定制浏览器体验的程序.通过插件,可以自定义浏览器的一些行为来适应个人的需 ...
- chrome浏览器插件开发经验(一)
chrome浏览器插件开发经验(一) http://open.chrome.360.cn/extension_dev/messaging.html 最近在进行chrome浏览器插件的开发,一些小的经验 ...
- 华视读卡器多浏览器插件_翻遍Chrome商店,这9款插件值得安装
对于电脑浏览器来说,好用的浏览器插件确实方便不少,浏览器插件功能各异,但确实都能满足不少需求. 而现在的浏览器市场,几乎就是Chrome或者基于Chromium内核浏览器的天下,这不微软的Edge向C ...
- 10 款值得珍藏的 Chrome 浏览器插件
作者 | 沉默王二 责编 | 郭芮 Firebug 的年代,我是火狐(Mozilla Firefox)浏览器的死忠:但后来不知道为什么,该插件停止了开发,导致我不得不寻求一个新的网页开发工具.那段时间 ...
- ajax伪造请求头设置失败,以及浏览器插件解决方案(待完善)
w3c规定,当请求的header匹配以下不安全字符时,将被终止,具体参考如下: Accept-Charset Accept-Encoding Connection Content-Length Coo ...
- Chrome浏览器插件(扩展)开发全攻略
写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...
- Chrome浏览器插件Tab Groups Extension使用方法
谷歌浏览器最近新增加了标签分组功能,新的插件名称叫做Tab Groups Extension.Tab Groups Extension的主要功能是将网页标签分组进一步优化,使得用户能够自由地定义标签分 ...
- 超详细!Chrome 浏览器、浏览器插件 下载和安装教程
本文将会以动图的形式,简明扼要教学如何使用chrome浏览器安装浏览器插件. 本教程适用于 chrome浏览器 edge浏览器 qq浏览器 搜狗浏览器 等等 推荐的浏览器还是最新版 chrome浏览器 ...
- chrome最强大的浏览器插件油猴Tampermonkey插件离线安装包免费分享下载
油猴脚本管理器 Tampermonkey 离线CRX安装包同名文章地址:http://www.xmpojie.com/697.html 一个神奇的网站: http://www.xmpojie.com/ ...
- 开发一个 Chrome 浏览器插件,拢共分几步?
市面上浏览器有很多,比如 IE.Edge.火狐.Safari 等,但市场占有率第一的永远只有一个 -- Chrome. 之所以如此,很大一部分原因是 Chrome 丰富的插件库.我们在使用浏览器时,免 ...
最新文章
- 跟各种诡异 Bug 打交道 13 年后的总结
- 第四届“传智杯”全国大学生IT技能大赛(决赛B组)【题解】
- java Web发布的两种方式
- FL2440移植LINUX-3.4.2 -- 按键驱动和触摸屏驱动移植
- RocketMQ(十二)消息堆积与消费延迟
- 什么是软件 什么是硬件
- python编程入门与案例详解-干货|| 清华大佬推荐的python400集入门资料
- How to use Emerge
- thinkphp前台模板运算符
- 光耦w314的各引脚图_常用光耦型号代换大全
- 《Visual Basic.Net 循序渐进》问题收集贴
- uni-app实现微信与支付宝的境外支付
- oracle txn,【学习笔记】ORACLE分布式事务故障的处理 结合MOS官方文档分析
- linux--Xshell的使用
- 【C++算法题】求三角形边长
- unity3d鸿蒙系统支持,Unity3D之处理角色控制器实现上坡爬坡减速
- 安装VS2010的过程遇到VC10.0 Runtime组件安装失败怎么解决
- 美国计算机科学排名2010,2010年美国大学计算机科学专业研究生排名
- 2021年中国种子安全研究报告【附下载链接】
- 视觉引导定位带领视觉行业高速发展!
热门文章
- css中如何使图标的旋转
- 阿里云封禁端口25,导致smtp.126.com邮件无法发送-解决方案+springboot配置
- C语言实现华氏温度转换为摄氏温度
- 大学四年,工作2年我总结了后端面试的所有知识点(持续更新)
- m-bom,p-bom,e-bom 这是什么意思
- C++关键字(static/register/atuo/extern/volatile/const)释疑
- 用Python制作核酸检测日历
- 在excel中创建日历
- matlab中字符串的大小比较,matlab中字符串的最大大小
- 实用的Chrome插件推荐