-
Notifications
You must be signed in to change notification settings - Fork 13
从其他网站上安装样式
xStyle不依赖于userstyles.org。您可以让用户从您自己的网页上安装样式。但是,为了不影响更多网页的速度,目前只允许网址为https://*.github.io
和https://*.gitee.io
的网页引导用户安装样式。方法二(链接法)不受此限制。
其中,code文件为单个样式导出后的结果,md5文件为包含最新版本的originalMd5的文本文件,id则用于区分不同样式(与code中的url相同),请保证样式文件的id各不相同
首先,将样式的基本信息以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-url
和xstyle-name
都是可选的参数。
之后,放置一个按钮,用户点击则触发xstyleInstall
事件即可。
若打算一个页面显示多个样式供用户安装,则在每次触发事件前,分别设置xstyle-name
、xstyle-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为可选参数
让用户打开此链接即可