DeepLのChrome拡張機能をScrapbox内限定で無効化するUserScript
でもScrapbox内ではアイコンが邪魔くさいなぁ。
これ↓
本来はテキストエリアを翻訳するための機能なのだが、Scrapbox内ではうまく機能していない模様。
ぶっちゃけると拡張機能をクリックしてメニューを出して、「書く」を無効化すればそれで解決する。
一応、
Scrapbox限定で無効化できるっていう利点はあるし、多少はね?(- -;)
ソース
removeDeepLExtention.jsfunction removeDeepLExtention(){
// 実行後は文字カーソルが更新されるまで待ち、更新された一定時間後にDeepL拡張機能の無効化処理を開始する。
let delayTime = 150 // カーソル移動してから削除するまでの秒数(ミリ秒)。
const target = document.querySelector(".cursor")
const observer = new MutationObserver(records => {observer.disconnect();remove(delayTime);})
observer.observe(target, {attributes: true})
function remove(delayTime){
window.setTimeout(()=>{
let target = document.querySelector("deepl-inline-translate")
if (target === null) return
target.remove();
},delayTime)
}
}
removeDeepLExtention(); // 通常起動
scrapbox.on('page:changed', removeDeepLExtention); // ページを切り替えた時にも起動
scrapbox.on('lines:changed', removeDeepLExtention); // 行を編集した時にも起動
注意点
うまく削除されずに残る場合は2行目の delayTime
の値を増やしてみてください。
この
UserScriptを使う場合は
import
を使わずにソース全文をコピペして下さい(セキュリティ的な理由)。
参考にしたサイト