油猴脚本是什么

JavaScript034

油猴脚本是什么,第1张

Greasemonkey,简称GM,中文俗称为“油猴子”,是Mozilla Firefox的一个附加组件。它让用户安装一些脚本使大部分HTML为主的网页于用户端直接改变得更方便易用。

随着Greasemonkey脚本常驻于浏览器,每次随着目的网页打开而自动做修改,使得运行脚本的用户印象深刻地享受其固定便利性。

大部分Greasemonkey使用者脚本都是自行撰写,使用对某网站专用的JavaScript代码,透过文档对象模型(DOM)接口对网页内容做操作。维护了个 Greasemonkey 数据库。该数据库描述哪个网址网页对应到哪个脚本。(注意:废弃脚本仓库 可能还保留许多还没合并到新仓库)。

当使用者加载匹配的网页,Greasemonkey便呼叫相关的脚本,而该脚本便为该页加入输出结果、删除该页的部分、或者移动碍眼的部分。

Greasemonkey脚本亦能透过非网域绑定的XMLHTTP要求来查询外部HTTP资源。Greasemonkey亦遵循某使用者名.user.js 的格式,这让当该特定使用者拜访时 Greasemonkey 可自动侦测并提供安装选项。

除了JavaScript代码,Greasemonkey脚本包括有限可选用后资料集。该后资料集描述了脚本名称、脚本描述、网址用来区分同名脚本的位址空间、以及原本该脚本为哪些网址撰写的列表。

Greasmonkey脚本写作过程要求高技术 (虽然比起写个五脏俱全的Firefox扩展简单点)。这意味着非常少的一般使用者可以实际上撰写 Greasemonkey 扩展。

不过,Platypus 扩展可让使用者可以编辑网页 (删除或者移动某碍眼的部分)。Platypus随后将结果存成常驻的Greasemonkey脚本。

技术

Greasemonkey 用户脚本是用JavaScript编写的,并使用文档对象模型界面操作网页的内容。脚本通常被编写为特定于页面或特定于域(适用于域内的所有页面),但也可能被标记为适用于全局浏览器增强的所有域。

Greasemonkey 的用户可以编写或下载脚本并将它们保存到自己的个人库中。当用户访问与其个人脚本库中的脚本匹配的网站时,Greasemonkey 会调用相关脚本。

Greasemonkey 脚本可以以 JavaScript 允许的任何方式修改网页,但具有某些 Greasemonkey 安全限制。脚本还可以通过不受域限制的XMLHTTP请求访问其他网页和Web 服务,从而允许将外部内容与原始页面内容合并。

脚本被命名为somename .user.js,当请求以该后缀结尾的 URL 时,Greasemonkey 提供安装任何此类脚本。

Greasemonkey 脚本包含元数据,这些元数据指定脚本名称、描述、脚本所需资源、用于区分同名脚本的命名空间URL 以及打算调用或不调用脚本的 URL 模式。

编写 Greasemonkey 脚本类似于为网页编写 JavaScript,但有一些额外的限制,例如跨站点XMLHttpRequests。与编写成熟的 Firefox 扩展程序相比,用户脚本编写在复杂性上比基本 Web 编程略有增加。

但是,由于 Mozilla 的 XPCNativeWrappers 施加的安全限制,Greasemonkey 脚本受到限制,例如,Greasemonkey 脚本无法访问 Firefox 的许多组件,例如下载管理器、I/O 进程或其主要工具栏。

此外,Greasemonkey 脚本会针对匹配网页的每个实例运行。因此,全局管理项目列表很困难。然而,脚本编写者一直在使用 cookie,Greasemonkey 甚至提供了 GM_getValue 和 GM_setValue 等 API 来解决这个问题。

以上内容参考 百度百科-Greasemonkey

autoplay是自动播放视频,DOM生成后再修改应该没什么作用。直接获取到视频,使用play()方法播放视频就行了。

document.querySelector('.preview-video').play()

油猴脚本是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。它能够通过最简单的脚本来更改一个网站或者网页的布局、外观和操作。

Greasemonkey,简称GM,中文俗称为“油猴子”,是Mozilla Firefox的一个附加组件。它让用户安装一些脚本使大部分HTML为主的网页于用户端直接改变得更方便易用。随着Greasemonkey脚本常驻于浏览器,每次随着目的网页打开而自动做修改,使得运行脚本的用户印象深刻地享受其固定便利性。

Greasemonkey可替网页加入些新功能、修正网页错误、组合来自不同网页的数据、或者数繁不及备载的其他功能。写的好的Greasemonkey脚本甚至可让其输出与被修改的页面集成得天衣无缝,像是原本网页里的一部分。

技术明细

大部分Greasemonkey使用者脚本都是自行撰写,使用对某网站专用的JavaScript代码,透过文档对象模型(DOM)接口对网页内容做操作。维护了个 Greasemonkey 数据库。该数据库描述哪个网址网页对应到哪个脚本。(注意:废弃脚本仓库 可能还保留许多还没合并到新仓库)。

当使用者加载匹配的网页,Greasemonkey便呼叫相关的脚本,而该脚本便为该页加入输出结果、删除该页的部分、或者移动碍眼的部分。Greasemonkey脚本亦能透过非网域绑定的XMLHTTP要求来查询外部HTTP资源。

Greasemonkey亦遵循某使用者名.user.js 的格式,这让当该特定使用者拜访时 Greasemonkey 可自动侦测并提供安装选项。除了JavaScript代码,Greasemonkey脚本包括有限可选用后资料集。该后资料集描述了脚本名称、脚本描述、网址用来区分同名脚本的位址空间、以及原本该脚本为哪些网址撰写的列表。