如何使用 UserJS

外链

什么是 UserJS?

UserJS 是 User Javascript 的简称,即用户脚本。所谓脚本,就是运行于客户机上的一段程序,可以帮助用户完成特定的任务。
当用户浏览网页时,会从服务器上下载脚本,并在本地运行,这种脚本我们会称之为网页脚本。与网页脚本不同的,用户脚本本身就在客户机上,不需要下载,而且如果不对其做限制,可用在所有网页上。
一般用户脚本是扩展名为 .js 的文本文件,如果是 GM 脚本,那么名字的后缀必须是 .user.js 。

UserJS 能做什么?

通过编写用户脚本,可以很大程度上提高上网体验,也可以省去一系列上网时的繁琐操作。对于不规范的网站,还可以编写用户脚本对其进行修复。
举些例子,使用 UserJS 可以实现网页自动翻页、文字翻译、页面预读、看图增强等等有用、有趣功能。UserJS 本身灵活多变,但毕竟只是一个工具,最重要还得看你的想象力^ ^

UserJS 不能做什么?

UserJS 虽然很自由很强大,但出于安全性原因,UserJS 不能操作文件,不能操作剪贴板,不能跨域访问。

UserJS 怎么获得?

有能力的朋友可以自行编写脚本。而对于普通用户,可以在一些网站上获得,比如 extendopera.org,甚至火狐 GM 脚本库里的一些脚本也能用于 Opera 中。
如果找到的脚本是以代码形式给出,比如下面这段代码:

// ==UserScript==
// @include http://www.hiapk.com/bbs/*
// ==/UserScript==
 
window.opera.defineMagicVariable('announcementScroll', function () { return 0; }, null );

那么可以自行新建一个扩展名为 .js 的文本文件(如果是 GM 脚本,还必须是以 .user.js 为后缀),然后将此段代码粘贴进去,并以 utf-8 without BOM 编码保存。

UserJS 怎么使用?

全局使用

我们可以在磁盘任何地方新建一个文件夹,为了管理方便,我们将文件夹建在opera程序目录里,比如 D:\Opera10.5\profile\script。然后我们在 Opera 中指定。选中菜单的“工具”、“首选项”(在 Opera 10.5 中,是左上角红色按钮的“设置”、“首选项”)打开首选项对话框,在“高级”、“内容”中允许“使用 Javascript”,并在“Javascript 选项”中设置 Javascript 文件夹,如下图(假定 Javascript 文件夹是 D:\Opera10.5\profile\script),然后将脚本放进这个目录里就能使用了。

特殊网页单独使用

对于一些特殊网页要单独使用用户脚本的,可以在站点首选项里进行设置,该设置优先权高于全局。可在特殊网页上点击右键,或者在菜单“工具”、“快速参数”(在 Opera 中,点击左上角菜单按钮,选中“设置”、“快速参数”)中选中“编辑站点首选项”,打开站点首选项对话框后,在“脚本”面板中勾选“允许使用 Javascript”,并指定 Javascript 文件夹,如下图,然后将脚本放进这个文件夹内即可:

注:无论是全局还是单独设置,Javascript 文件夹都可设置多个,用逗号进行分隔,比如
D:\Opera\profile\script\1,D:\Opera\profile\script\2

使用地址栏或 Opera 命令调用 UserJS

对于一些脚本可能需要通过人们手动开启执行,可在地址栏中敲入以 javascript: 开头的字串,冒号后面的内容根据脚本的不同而具体编写。对于这种开启方式,UserJS 作者一般会给出按钮或菜单,只要点击即可,不再需要在地址栏中敲入代码。Opera 命令一般可以是 Go to page, “javascript: xxxx”。

Opera 如何使用火狐的 GM 脚本

现在的脚本越来越趋于标准化,一些 GM 脚本也能用在 Opera 中。在 Opera 中使用 GM 脚本,文件全名必须以 .user.js 结尾,然后放入到相应的 Javascript 文件夹中即可使用。

你在使用 UserJS 时可能会遇到的问题

说明

由于每个网站的结构大都不相同,加上网页也经常进行改版调整,脚本使用不当可能会造成一些问题(页面排版错乱甚至严重的可能会导致 opera 崩溃或无法响应),因此用户使用脚本时最好先确认脚本是可靠稳定的,并及时更新脚本。 另外,不同脚本间也可能会造成冲突,使用前请先了解脚本的功能及作用范围。

我的 UserJS 为何无效?

首选确认你所获得的 UserJS 是可用的,你可以向脚本的作者或他人询问相关信息,在脚本确实可用的情况下,请检查脚本文件的编码格式,如果脚本内包含了非 ASCII 字符,如中文汉字,此时使用 ANSI 编码会导致脚本失效,你可以将脚本保存为 UTF-8 编码格式。推荐使用 Windows 自带之外的第三方编辑器保存脚本为 UTF-8 without BOM 格式。

如何对 UserJS 设置黑白名单?

白名单即脚本可起作用的网站列表,相反,黑名单即脚本不起作用的网站列表。设置黑白名单可以有效防止脚本可能会带来的问题,因此黑白名单作用非常大。
我们可以在脚本的开头写入下面代码:

// ==UserScript==
// @include http://xxx.xxx.xxx/*
// @exclude http://zzz.zzz.zzz/*
// ==/UserScript==

其中以 include 标注的即白名单,exclude的为黑名单,可以设置多条。

为什么我的黑白名单无效?

Windows 自带的记事本保存的 UTF-8 为 UTF-8 with BOM,此时会导致黑白名单失效,请使用其他编辑器保存脚本为 UTF-8 without BOM 格式。

为什么我用 UserJS 控制不了前/后台打开标签?

Opera 默认没有打开控制标签前/后台的开关,你可以在“首选项”、“高级”、“内容”里点开“Javascript 选项”,将相应的“允许将窗口提到最前”或“允许将窗口提到最后”勾上。

5条评论

  1. Pingback: 帮助 « OperaIM

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注