Mastodon - 読み上げ Fork

    @@ -5,6 +5,6 @@ * @javascript_url */ - // どうもsetTimeout経由で呼んだりconsole.log挟んだりしないと再生にこけるのか途中で止まる。謎い。 + // BUG: なんか途中で止まることがある(setTimeout経由で呼ぶのもその対策だけど、それでも止まることがある) (function sayNext({target:c},target=new SpeechSynthesisUtterance(((document.querySelector('.mastodon-column-container[aria-hidden="false"] .status__content')||{}).textContent||"").replace(/(http|#)[^\s]+/,''))){if((c||{}).text!=target.text)setTimeout(()=>speechSynthesis.speak(Object.assign(target,{rate:Math.max(Math.pow(target.text.length/50,1.3),2),onend:sayNext})),0);else setTimeout(()=>sayNext({target}),500)})({})
  • /*
     * @title Mastodon - 読み上げ
     * @description 適当
     * @license MIT License
     * @javascript_url
     */
    
    // BUG: なんか途中で止まることがある(setTimeout経由で呼ぶのもその対策だけど、それでも止まることがある)
    
    (function sayNext({target:c},target=new SpeechSynthesisUtterance(((document.querySelector('.mastodon-column-container[aria-hidden="false"] .status__content')||{}).textContent||"").replace(/(http|#)[^\s]+/,''))){if((c||{}).text!=target.text)setTimeout(()=>speechSynthesis.speak(Object.assign(target,{rate:Math.max(Math.pow(target.text.length/50,1.3),2),onend:sayNext})),0);else setTimeout(()=>sayNext({target}),500)})({})
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。