scrapboxで外部APIを使う
from /ci7lus/たのしいScrapboxUserScript
TamperMonkeyを使う方法があったか……
URLを外部リンク記法にして貼り付けやつも、この方法を使えば簡単に実装できそうた。
簡単な解説
こんな感じのコードをtampermonkeyに貼り付ける
code:js
// ==UserScript==
// @name your userscript name
// @namespace https://scrapbox.io
// @version 0.1
// @description your userscript description
// @author your name
// @match https://scrapbox.io/*
// @connect domains you want have access to
// @grant GM_xmlhttpRequest
// @license MIT
// @copyright Copyright (c) YYYY your name
// ==/UserScript==
"use strict"
unsafeWindow.functionName = (param) => new Promise(resolve =>
GM_xmlhttpRequest({
method: "GET",
url: https://example.com/?=${any_parameters},
headers: {
// ここにheaderを書く
},
withCredentials: true,
responseType: 'arraybuffer', // or json or text responseはここに指定した型になる
onload: ({response: arrayBuffer}) => {
// anything ...
resolve(result);
},
})
);
あと特定の条件に合うdomainならscriptを読み込める
これは使えそうだ
ESModulesでは読み込めない。<script>タグに埋め込む必要がある
例:
code:javascript
const MousetrapJs = document.createElement("script");
MousetrapJs.src =
'https://cdnjs.cloudflare.com/ajax/libs/mousetrap/1.6.5/mousetrap.min.js';
document.body.appendChild(MousetrapJs);
読み込みのラグのせいか、この後すぐにpackageを使用することはできない
使用側のscriptも<script>で読み込んだほうがよさそう
from /ci7lus/pdfの全てのページをGyazoにアップロードしてScrapboxに貼り付けるUserScript#5f62d023ae0f14000094e52e
<script>の読み込みを待つ
#2020-11-18 17:16:01
#2020-11-08 22:42:40
#2020-10-31 17:56:15