編集エリア内の文字置換用ブックマークレットの共有
こんにちは、テクニカルスタッフの7happy7です。
さて、皆さんの中にはサンドボックスの直接編集で下書きを仕上げる方もいらっしゃるかと思います。そして一度は次のような悩みを抱いたやもしれません:「SCP-XXXX-JPのXXXXを正規番号に変えるのが面倒くさい」と。
ご安心ください。このブックマークレットを登録すれば、その悩みは過去のものになります。膨大な数の「XXXX」も、あなたの望む番号に一括で置換されます。もちろん「XXXX」に限らず、編集エリア内の単語であればどれでも置換できます。
ブックマークレット、及びその登録方法については下記のページをご参照ください。
ブックマークレットコード
javascript:var getWinStyle = document.createElement("style");getWinStyle.innerHTML = ".getWin%7Bbackground: #fff;text-align: center;border: 1px solid #333;position: fixed;top: 20%25;left: 0;right: 0;padding: 1em;z-index: 9999;%7D";var getWindow = document.createElement("div");getWindow.setAttribute("class", "getWin");getWindow.innerHTML = 'before:<input type="text" id="bef" placeholder="before-text"><br>after:<input type="text" id="aft" placeholder="after-text"><br><input type="button" id="btn" value="replace"><input type="button" id="cnc" value="close">';document.head.appendChild(getWinStyle);document.body.appendChild(getWindow);document.getElementById("btn").onclick = function() %7Bvar tgt = document.getElementById("edit-page-textarea");var bef = document.getElementById("bef");var aft = document.getElementById("aft");if(bef.value == "")%7Balert("please fill before-text");return;%7D;if(tgt == null)%7Balert("cannot read edit-area");return;%7D;var regex = new RegExp(bef.value, "g");tgt.value = tgt.value.replace(regex, aft.value);alert("complete");%7D;document.getElementById("cnc").onclick = function() %7Bdocument.body.removeChild(getWindow);document.head.removeChild(getWinStyle);%7D;

こんな具合に