Userscripts Are Fun and Are Still Very Much Relevant

栏目: IT技术 · 发布时间: 5年前

内容简介:A userscript is a script that usually helps make the web a better place.Want to use J and K keys to scroll through the new Facebook UI? There’sNeed that YouTube video on your drive? Guess what?

A userscript is a script that usually helps make the web a better place.

Want to use J and K keys to scroll through the new Facebook UI? There’s a userscript for that!

Need that YouTube video on your drive? Guess what? You can!

How about speeding up solving Google reCAPTCHA challenges by shortening transition effects and providing continuous selection ability? No? Ok, but it is there.

History

It all started when the web was much, much younger. Firefox users back then suffered a pretty broken internet experience. Firefox had support for extensions, which helped in a way since you could write an extension to fix a broken site. But writing extensions wasn’t as simple as it is today, and even today, it could be streamlined for the, apparently, very common use case where a site is broken and some simple JavsScript snippet could save the day.

Along came GreaseMonkey . The idea behind GreaseMonkey, a Firefox extension release in 2005 was pretty simple. It let you compose a simple JS module that would later be injected into a predefined list of websites.

Exposing a pretty slim API , GreaseMonkey let you do nearly anything within the realm of “why the hell isn’t this website aligned to right?!“.

Chrome followed along by supporting userscripts straight out of the box, a feature that was later removed.

Nowadays the internet is pretty decent for all. Chrome, Firefox, Safari, and IE are all first-class citizens. So why are userscripts still necessary?

Present

At the company I work at, one of our products is an embeddable commenting system. Unlike single-page applications, when we encounter bugs they’re usually on the client’s website. This raised the question, how can we embed a piece of code that will run on all our client’s websites, that will help us debug and improve our overall build experience.

We could bookmark a snippet, but that’s just plain ugly and we need deeper browser APIs not exposed to “userland” javascript, living on the page.

We could create a browser extension, but that means developing one for all major browsers.

As you may have guessed, the answer was userscripts.

But that’s not the only cause, I made countless userscript in the past that introduced some improvements to existing sites.

I wrote one that adds links to a song’s lyrics and its Wikipedia page, once you play one on YouTube.

Later wrote one that fixes Hebrew fonts on a wonky WhatsApp web version.

And a few more.

How

Creating a simple Userscript is pretty simple, you simply install ViolentMonkey (on Chrome, use TamperMonkey for other browsers), hit the Create Userscript button and you will be preseneted with a pretty decent code editor showing a userscript template.

If that’s not working for you (say you passed the 1,000 LOCs and things get a bit spaghetti-y), you can try webpack-userscript . Configure and run it, it will start a Webpack dev server, serving your userscript locally. You can then split your code up into modules, use all your favorite NPM packages and all the great things that come with using a bundler.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

轻快的Java

轻快的Java

(美)塔特、杰兰德/国别:中国大陆 / 张晓坤 / 中国电力出版社 / 2006-7 / 29.00元

Java的开发者正深陷于复杂性的泥沼中而无法自拔。我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。我们不禁要问,有必要把Java搞得这么复杂吗?   答案是否定的。本书给你指引了一条出路。无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。你能重新掌握一度失控的J2EE应用程序。   在本书......一起来看看 《轻快的Java》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具