Mastodon - 読み上げ

    @@ -5,4 +5,6 @@ * @javascript_url */ -(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)speechSynthesis.speak(Object.assign(target,{rate:Math.max(Math.pow(target.text.length/50,1.3),2),onend:sayNext}));else setTimeout(()=>sayNext({target}),500)})({}) +// どうもsetTimeout経由で呼んだりconsole.log挟んだりしないと再生にこけるのか途中で止まる。謎い。 + +(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
     */
    
    // どうもsetTimeout経由で呼んだりconsole.log挟んだりしないと再生にこけるのか途中で止まる。謎い。
    
    (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 です。

History

  1. 2017/05/12 01:29:31 - 2017-05-12
  2. 2017/05/12 01:27:41 - 2017-05-12
  3. 2017/05/12 01:23:32 - 2017-05-12