• 浏览器插件


    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的声明头没有得到支持。

     

    作者:Asion Tang
    凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Why does my Authorize Attribute not work?
    百度网页搜索部来自Console的招聘信息
    Javascript 日期时间超强正则表达式
    解决SQL Server [Suspect]
    我回来了
    不忘初心
    WEB系统技术开发方向
    使用postman模拟登录请求
    什么是蓝绿部署?
    element-ui Cascader 级联选择器示例
  • 原文地址:https://www.cnblogs.com/AsionTang/p/3442969.html
Copyright © 2020-2023  润新知