Mastodon - 読み上げ
by
unarist
2017-05-12 [2017/05/12 01:29:31]
適当
@@ -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 です。