MAKIBISHI anywhere
by
Nikola
08/03 [2024/08/03 07:34:13]
どこでもマキビシ
/*
* @title MAKIBISHI anywhere
* @description どこでもマキビシ
* @include http://*
* @license CC0 1.0
* @require
*/
(() => {
if (document.querySelector('.makibishi')) return;
//<span class="makibishi"></span>をh1またはh2の末尾に追加
const h1 = document.querySelector('h1');
const h2 = document.querySelector('h2');
const span = document.createElement('span');
span.classList.add('makibishi');
if (h1) h1.appendChild(span);
else if (h2) h2.appendChild(span);
else return;
//MAKIBISHIを動的に読み込む
affixScriptToHead(
'https://cdn.jsdelivr.net/npm/@nikolat/makibishi@0.1.3',
() => {
window.makibishi.initTarget(span);
},
);
//https://developer.mozilla.org/ja/docs/Web/API/HTMLScriptElement のコピペ
function loadError(oError) {
throw new URIError(
`スクリプト ${oError.target.src} は正しく読み込まれませんでした。`,
);
}
function affixScriptToHead(url, onloadFunction) {
const newScript = document.createElement('script');
newScript.onerror = loadError;
if (onloadFunction) {
newScript.onload = onloadFunction;
}
document.head.appendChild(newScript);
newScript.src = url;
}
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。