W moim Pocket jest parę tysięcy artykułów do przeczytania....
Szanse na to, że je wszystkie przeczytam są bliskie zeru (musiałbym chyba już teraz czytać z 3-4 miesiące non-stop).
Dlatego czasami słucham artykułów.
Na Androidzie jest to proste, ale czasem potrzebuję tego na PC.
Tutaj pomocny przychodzi skryptozakładka, której kod wygląda tak:
javascript:{function speak(txt) { var u = new SpeechSynthesisUtterance(txt); speechSynthesis.speak(u); }; var elems = document.getElementById("content").innerText.split("."); var idx=0; function s() { if (!speechSynthesis.speaking) speak(elems[idx++]); if (idx<elems.length) setTimeout(s,100);}; s();}
Cała idea jej działania polega na tym, że najpierw pobierana jest treść wpisu (wraz z tytułem i paroma dziwnymi rzeczami), później treść wpisu dzielona jest na zdania i w końcu są one czytane.
Wszystko działa na Chrome.
Czasem może dostać zadyszki i wtedy ratuje nas tylko speechSynthesis.cancel() w konsoli JavaScript.
Należy jej używać będąc w artykule w Pocket.
Kod powyżej należy wkleić do skryptozakładki (jak zakładka tyle, że zamiast adresu strony ma to co wyżej).
Update:
Nowa wersja skryptozakładki:
javascript:{function speak(txt) { var u = new SpeechSynthesisUtterance(txt); speechSynthesis.speak(u); }; var elems1 = document.getElementById("content").innerText.split("\n"); var elems=[]; for (var i=0; i<elems1.length; i++) { var el = elems1[i].split("."); for (var j=0; j<el.length; j++) elems.push(el[j]);}; var idx=0; function s() { if (!speechSynthesis.speaking) speak(elems[idx++]); if (idx<elems.length) setTimeout(s,100);}; s();}
Update2:
Coby mieć pewność, że czytanie będzie po angielsku trzeba dodać jeszcze jedną rzecz do skryptozakładki :-)
javascript:{function speak(txt) { var u = new SpeechSynthesisUtterance(txt); u.lang="en-US"; speechSynthesis.speak(u); }; var elems1 = document.getElementById("content").innerText.split("\n"); var elems=[]; for (var i=0; i<elems1.length; i++) { var el = elems1[i].split("."); for (var j=0; j<el.length; j++) elems.push(el[j]);}; var idx=0; function s() { if (!speechSynthesis.speaking) speak(elems[idx++]); if (idx<elems.length) setTimeout(s,100);}; s();}
Podobne postybeta
Bookmarklet do robienia CSV z obligacjami i ich oprocentowaniem ;-)
HTML5 goodies - localStorage
Ile w tym i przyszłym miesiącu z odsetek za obligacje?
Ile z obligacji... odsłona 2 ;-)
localStorage odsłona 2 - zaczynają się kłopoty ;-)
niedziela, sierpnia 31, 2014
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz