read assist
by
HinataYanagi
2019-07-14 [2019/07/14 12:39:36]
Enterキーで現在選択している単語の"次の単語"を選択。英文をテンポよく読むために。複雑なドキュメントでは上手く動かないかも。
/*
* @title read assist
* @description Enterキーで現在選択している単語の"次の単語"を選択。英文をテンポよく読むために。複雑なドキュメントでは上手く動かないかも。
* @include http://*
* @license MIT License
* @require
*/
addEventListener("keydown", event => {
if (event.key != "Enter") return;
var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
var selection = getSelection();
walker.currentNode = selection.anchorNode;
i = walker.currentNode.nodeValue.indexOf(" ", selection.focusOffset);
if (i == -1) {
while (walker.nextNode() != null && !/\S/.test(walker.currentNode.nodeValue));
}
i += 1;
if (walker.currentNode == null) return;
j = walker.currentNode.nodeValue.indexOf(" ", i + 1); console.log(i, j);
if (j == -1) j = walker.currentNode.nodeValue.length;
selection.setBaseAndExtent(walker.currentNode, i, walker.currentNode, j);
});
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。