モバイル版Scrapboxでキャレットを外すUserScript
script.jsfunction hideCaret() {
const textarea = document.getElementById("text-input");
// from https://github.com/takker99/scrapbox-userscript-std/blob/58ede69911a63600acb39745dc7fdec3fcf8cf6d/browser/dom/caret.ts#L50
const reactKey = Object.keys(textarea)
.find((key) => key.startsWith("__reactFiber"));
const input = textarea[reactKey].return.return.stateNode;
const cursor = input._stores.find((obj) => obj.hide);
cursor.hide();
}
document.getElementById("app-container").addEventListener("touchstart", (e) => {
// ページの外をタッチするとキャレットを外す
if (!e.target.closest(".page")) {
hideCaret();
}
});
内部構造を直接叩いているので動かなくなっているかも
初めて作ったUserScriptが邪悪な物ってどうなんだ
VivaldiのDevToolsとPixel 4aのChromeで動作確認してます