Skip to content

从其他网站上安装样式

泷涯 edited this page Dec 22, 2017 · 6 revisions

xStyle不依赖于userstyles.org。您可以让用户从您自己的网页上安装样式。但是,为了不影响更多网页的速度,目前只允许网址为https://*.github.iohttps://*.gitee.io的网页引导用户安装样式。方法二(链接法)不受此限制。

其中,code文件为单个样式导出后的结果,md5文件为包含最新版本的originalMd5的文本文件,id则用于区分不同样式(与code中的url相同),请保证样式文件的id各不相同

方法一 Meta

首先,将样式的基本信息以meta方式放入HTML源码中。例如:

<link rel="xstyle-code" href="https://userstyles.org/styles/chrome/130991.json">
<link rel="xstyle-id-url" href="http://userstyles.org/styles/130991">
<link rel="xstyle-md5-url" href="https://update.userstyles.org/130991.md5">
<link rel="xstyle-name" href="Style Name">

其中,xstyle-code将会包含样式的基本信息和代码,xstyle-id-url用于区别样式,一般是样式详情页面的URL,xstyle-md5-url用于快速校验用户是否已经安装最新版本的样式,xstyle-name为样式名称。xstyle-md5-urlxstyle-name都是可选的参数。

之后,放置一个按钮,用户点击则触发xstyleInstall事件即可。

若打算一个页面显示多个样式供用户安装,则在每次触发事件前,分别设置xstyle-namexstyle-code的值。例如:

document.querySelector("link[rel='xstyle-name']").setAttribute('href', 'Style Name');
document.querySelector("link[rel='xstyle-code']").setAttribute('href', 'https://userstyles.org/styles/chrome/130991.json');
var newEvent = new CustomEvent('xstyleInstall', {detail: null});
document.dispatchEvent(newEvent);

方法二 链接

此方法适用于没有修改HTML权限,或者无JS代码基础的情况。单次请求只能安装一个样式。使用方式:

将code链接附加至https://ext.firefoxcn.net/xstyle/install/open.html?name=StyleName&code=后,例如:https://ext.firefoxcn.net/xstyle/install/open.html?name=DemoStyle&code=https://userstyles.org/styles/chrome/130991.json

其中,name为可选参数

让用户打开此链接即可

Clone this wiki locally