油猴子从入门到喵喵喵喵(实例:9/9 完结)

【本文为付费内容,如您尚未付费请点此】

【返回目录】

什么是油猴子

校对完成,更新时间:2020-07-23 07:06:02

我并不喜欢它这个名字,但我又实在背不下来它的英文,就只好这样了。

英文似乎是叫做:TamperMonkey Greasemonkey(抱歉,这里写错了,但是后面的描述居然不用改),但是稍微去了解一下的话,就会发现有一个脚本管理器就是这个名字。所以这里面总有一丝商业宣传的味道,就仿佛 Word,Excel,PPT,这究竟是软件还是格式?当一个软件的名称被人们理所当然的用来称呼一类格式,那这个软件在营销上可以算是相当成功的。

不过我更喜欢另外一个名字:用户脚本(UserScript)。这个英文我能够背得下来,而且又十分准确的说清楚了这是什么东西,但这个名字并不如油猴子那样叫的响亮,大概就是让人觉得莫名其妙的东西反倒更加吸引眼球。

就从这个名字来解释一下,用户脚本就是用户自己书写的一些脚本。果然名字太直白了,以至于对它的解释简直就是一个朴素的扩句。

当然你可以不用自己去书写,而拿别人的脚本过来使用。但因为它具有自己书写这种特性,就意味着你对它的修改编辑都会比较便捷。一些类似的功能,我们通过小书签或者浏览器扩展也可以进行实现,但是这两者的可编辑性,就要比用户脚本差上好多。而且一些脚本市场会要求发布的脚本代码不可以进行压缩和混淆,也就进一步保障了脚本的可编辑性。

什么是脚本呢?这算一个相对细致的分类,但如果你对这方面不太了解,直接解释这个细致的分类,就不如先笼统的看它的大分类更容易理解。这就好像我对生物学没有什么了解,你给我介绍一个东西,上来就告诉我这是什么纲什么目什么属,我会觉得你说的头头是道,但我内心里依然一头雾水。就不如直接告诉我这个究竟是动物还是植物,能不能吃,会不会打我……

脚本就是一种代码,所以写脚本就是编程,不严谨的讲,你甚至可以认为这是在写软件。但只要是编程,目的就只有一个,就是告诉电脑如何去工作。用户为什么要去写脚本?因为他想让浏览器按照自己的想法去做一些工作。如果你理解了这句话,你应该也恍恍惚惚的开始感受到,这个东西似乎对自己是有一些用途的。谁还没有点古古怪怪的想法,但是又不知道如何去实现他们呢?

编程有那么多语言,我们又为什么会选择写脚本(脚本并不是特指某一种语言,而是一类)?因为脚本是无需编译的,好,你可能不知道编译是什么,那么脚本是写完就可以直接使用的,没有其他复杂的步骤。而且脚本语言大多是相对简单的。

现在总结一下,我作为一个用户,冒出了一个想法,但是苦于没有人替我实现,所以选择了一个简单的语言去书写脚本,而且写完之后就可以直接运行使用。这很合理,而且每一个动作都很直接的朝着实现目标前进,没有兜圈子,没有中间商赚差价。

再在这个基础上进一步进行提炼:

  • 我很可能是用得上这些东西的,甚至可能存在着真正的需求,说不定它能够帮我解决一些困扰已久的问题,只是因为目前我对它没有了解,所以并不知道这就是解决这个问题的方法之一
  • 学习书写用户脚本也许并不复杂
  • 想要学习,需要的条件很简单

为什么是油猴子

这个真的没有为什么,同样能够充饥,为什么今天中午吃米饭不吃馒头?我总得选一个吧,鱼和熊掌不可兼得,就算同时选择了米饭和馒头,大饼和窝头也会抗议,肉夹馍嘟嘟囔囔的说:难道我就不香吗?

我写了一个表格,简单的对比了一下小书签,油猴子和浏览器扩展的一些特点。这并不是评判每个方法都好坏,因为结果必然是各有优劣。所以就看你实际的需求是怎样的,然后选择最适合自己的方法。而这一次我要给大家讲的就是油猴子。

提示:这个表格粗略浏览即可,初期可能并不是很能理解表格中的内容,也许在对三种方法都有一定了解之后,这个表格才更有参考价值。

对比项目 小书签 油猴子 浏览器扩展
开发 需严格加分号或压缩代码 最简单 相对前两者
文件多,细节多
安装 拖拽安装,十分简单
但制作安装链接麻烦
细节处理不到位会
引入新的问题
市场安装
但要先安装脚本管理器
对于新用户不够友好
市场安装
国内访问困难
使用 一键点击 可以有菜单
其他界面要自己书写
并且考虑在他人页面下
的显示效果
可以很复杂
自带 popup、
工具栏按钮、
选项页面(显示区域)
选项样式
元数据
后台进程 对每个网页都要
判断是否执行
可以没有
开发限制 代码总长限制
但各种页面均可运行
特定页面无法使用 特定页面无法使用
但可以方便的进行
页面间通讯
发布审核 无(但有一定限制) 有且慢
(不通过还不一定
告知原因)
更新 用户主动重新安装 通过市场自动更新 通过市场自动更新
收费 很难实现 很难实现 支持收费
特殊权限 自带基础功能接口 可调用浏览器接口

书写的限制

如果我只告诉你:脚本相对简单,容易学。然后就推导出下一步:油猴子很简单。这肯定是非常不负责任的忽悠。

脚本并不简单,如果完全没有基础,想要入门编程,怎么也得花上几个月的时间。因为编程它有一套完整的知识体系,你要对其中的方方面面都有一定的了解之后,才能够开始逐渐的去理解它。就好像我们刚到一个新的地方,一切都很陌生,就会觉得周边的每一个位置都是遥远的,因为我们总要走过一些未知的,不了解的路途,才能够到达这个位置。而当我们在这个地方生活几年之后,在方圆几公里的范围内,都觉得是家门口。

但是你也不要急着逃跑,探索完整个世界是个宏大的愿望,应该没有几个人能够完成。但似乎也没必要每个人都立下如此宏大的愿望。像小老鼠这种随遇而安的性格,只要能够熟悉到楼下小卖店儿的道路,就可以开心的生活好多年了。而且现在快递这么发达,大概我只要熟悉走到门口,开门接快递就好。这样的新手探险任务,总还是可以学会的。而且当我们发现,只要我按照规则,交钱购物,小卖店的阿姨对我还是非常友善的,也许就愿意去街对面的大超市里看看有没有新奇的玩意儿。诶,就是这样一点一点的,这个五彩缤纷的世界在我们面前舒展开来,那么学习编程也是这个样子的。也许你并不知道它们能够做些什么,也许你并不觉得自己对它们有什么需求。但是请老鼠喝一杯咖啡,老鼠就跟你这儿絮絮叨叨的讲好多好多,哪怕听一乐儿,也都不亏;万一学会点什么,说不定还赚了;由此开始对编程感兴趣,或者解决了一些工作中的小难题,那岂不也是很美滋滋的。

好像说着说着有点跑题了,那我们讲回用户脚本书写中的限制。相比于书写网页,书写用户脚本要更复杂一些。写网页只是去实现对应的功能,而用户脚本呢,则是会运行在别人的网页之中,对这些网页进行修改,加入自己需要的功能。

那人家不让改怎么办?我就想办法去改,这就像一个攻防战。也可以理解为下棋,或者解谜游戏,就有一种对弈的感觉。这很有趣,也很开阔思路。所以一个写惯了普通网页的人,并不一定能够一下子就写出非常厉害的脚本,因为面对某些问题,思考的角度转变不过来。

书写用户脚本可能并不需要十分高大上的技能,但必须对基础知识尽可能的了解,甚至理解的十分透彻。因为在遇到问题的时候,这些基础知识能够有效的开阔思路的范围。

什么,本来你都已经被我安慰的决定继续读下去了,结果又被这段话吓到?

嘿,做人要讲良心啊!100 米以后路不太好走,我是不是得告诉你?你说你只在前面 50 米的范围之内晃悠,所以 100 米以外的事情和你无关。但我还得告诉你啊!万一哪一天你心血来潮,或者误入歧途,到了 100 米以外,稍微被绊着一下,肯定就要埋怨我事先不把事情说清楚了。

怎么,你听到数字就头疼,所以上面的例子让你觉得迷糊?

那……带孩子去游泳,虽然只让孩子在浅水区玩耍,但能不跟孩子们说清楚,深水区很危险,不要过去吗?(不过将来你能游的上下翻飞,想要去深水区,当然也不会有人拦着不是

【返回目录】 | 【下一章 油猴子能做什么】

1 个赞