DeepLのChrome拡張機能をScrapbox内限定で無効化するUserScript
でもScrapbox内ではアイコンが邪魔くさいなぁ。
これ↓
https://scrapbox.io/files/61c9d1be2f57df001de2e6c6.png
本来はテキストエリアを翻訳するための機能なのだが、Scrapbox内ではうまく機能していない模様。
ぶっちゃけると拡張機能をクリックしてメニューを出して、「書く」を無効化すればそれで解決する。
https://scrapbox.io/files/61c9f8f78976ad00238d4fac.png
一応、Scrapbox限定で無効化できるっていう利点はあるし、多少はね?(- -;) ソース
code:removeDeepLExtention.js
function 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を使わずにソース全文をコピペして下さい(セキュリティ的な理由)。 参考にしたサイト