为X浏览器撰写脚本 - 简单脚本

什么是用户脚本?

用户脚本是一段用户自定义的javascript代码,它可以在页面加载的过程中自动运行。 通过用户脚本可以达到对原始网页功能增强或则解除一些网页的限制的目的。

用户脚本具有小巧,灵活,易用等特点,可以非常方便的扩展浏览器功能,不夸张的说只有你想不到没有做不到。一些常规的浏览器功能都可以通过用户脚本的形式实现,比如阅读模式,智能预读,夜间模式等。

X浏览器支持简单JS脚本,同时也兼容油猴脚本的一些规范,可以直接安装第三方的油猴脚本。本文主要介绍简单JS脚本在X浏览器中的使用方法。

第一个用户脚本

只要您懂一些javascript代码,就可以为浏览器撰写用户脚本,下面是一段最简单的一个用户脚本.

1
alert('hello');

为了兼容bookmarklet 下面的写法也可以被X浏览器所识别。

1
javascript:alert('hello');

你可以通过 浏览器设置》浏览器脚本》 添加脚本 为您的浏览器增加一个自定义脚本,如下图所示。

image-20210831111127076

脚本的执行方式

用户脚本默认情况下在页面加载的时候自动执行,当然你可以通过设置脚本作用域来决定脚本是否全局生效,还是在特定的域名下生效。

此外,脚本也可以设置为浏览器UI上的扩展点手动触发,换句话说就是可以通过点击浏览器UI中的特定交互元素触发执行脚本,比如说通过点击用户长按菜单中的选项。目前存在三种常规的扩展点,页面工具菜单、长按菜单、主菜单。

image-20210831111149990

设置菜单扩展点作为脚本执行方式后,会自动在相应的菜单生成菜单选项作为脚本执行入口,如下图所示。

image-20210831111836908

image-20210831111852862

image-20210831111907282

## 脚本作用域

当您设置脚本为自动执行时,我可以通过设置脚本的作用域来决定脚本是全局生效还是在特定的站点生效。

image-20210831112420016

下面是作用域语法规则的说明

1
*

匹配所有站点,换句话说,脚本在全局生效。

1
www.example.com

精确匹配特定的域名,脚本只在 www.example.com 域名下执行。

1
2
3
example.com
.example.com
*.example.com

以上任意写法都可以用来匹配主域名为example.com 的站点

1
www.example.com,abc.com,www.youku.com

匹配多个域名,中间以”,” 分割

image-20210831113411426

以上介绍了简单的JS脚本在X浏览器中的使用方法,简单的JS脚本通常灵活,松散,易于使用。但是有时候我们需要完成稍微复杂一些的页面操作,或者需要依赖一些第三方JS库,以及需要加载一些资源,这个时候使用简单的脚本就不如使用油猴脚本的规范来组织管理代码。 详情参考本文的第二部分为X浏览器撰写脚本之油猴脚本