問題タブ [innertext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
643 参照

javascript - getSelection() 周辺の innerText を抽出するより良い方法

選択範囲からプレーンテキストの URL を抽出する Chrome 拡張機能に取り組んでいますが、選択範囲は常に URL の一部になるため、左右にスキャンする必要があります。HTML要素を解析したくないし、textContentを再構築したくないので、基本的にinnerTextから選択範囲の周りに500文字を抽出する必要があります。

これは私がこれまでに持っているもので、非常にうまく機能していますが、ドキュメントオブジェクトを変更せずに元の状態に戻すより良い方法があると感じています...

extract は、ブラウザーによって評価された改行などを含む、抽出されたテキストを保持します。ちなみにこれはChromeのみなので、相互互換性はまったく必要ありません。これで、選択を解析できます-中央から端までURLを見つけるために、中央から解析を開始することが重要であるため、オフセットを知らずにgetSelection()のparentNodeからinnerTextを抽出しただけではないことに注意してください...

これを行うより良い方法はありますか?ドキュメント全体をDOMParserにコピーするかもしれませんが、元のドキュメントから getSelection を適用するにはどうすればよいですか?

- - - アップデート - - -

上記のコードを簡略化しました(マウスクリックで作業していることを忘れていたので、ダブルクリックしてテキストを選択した後、イベントクリックを検出しました)、今では document.body.innerText で caretOffset を見つけますが、それでも変更します文書化してから復元するので、これを行うためのより良い方法をまだ考えています。insertNode と deleteContents が何らかの形で悪いのでしょうか?

何かご意見は?

0 投票する
1 に答える
6702 参照

javascript - element.innerText による改行なしスペースの挿入

Web アプリケーションでは、最初のステップで約10,000 個の空のセルを持つ大きくて非常に複雑なテーブルを動的に作成します(テーブルのセルには空のままのものもあれば、そうでないものもあります)。私の最初のアプローチでは、空のセルが崩壊するのを防ぐために、改行なしのスペースで innerHtml を使用しました。

しかし、それはかなり遅かったです。次に、innerText を設定する方が、innerHtml を設定するよりもはるかに高速であることを発見しました。だから私は自分のコードを

各セルtd.innerText = ' 'にテキストを書き込んだだけだからです。" "Internet Explorer 11 では動作しているように見えましたが、Firefox では空のセルの境界線が消えました。しかし、(Firebug などを使用して) セルを検査し、以前のバージョンと比較しても、違いはわかりません。

0 投票する
0 に答える
381 参照

javascript - javascript を使用して、Chrome ブラウザのすべての要素から可視テキストを抽出する

表示されているすべてのテキストを収集し、それらを 1 行ずつテーブルに配置する JavaScript を作成しています。このスクリプトは chrome でのみ実行されるため、互換性について心配する必要はありません。innerText と textContents を試しましたが、両方とも HTML、SCRIPTS、およびその他のタグからデータを返すようです。また、子からテキストを取得するため、各行にテキストを配置しても機能しません。innerText が、ブラウザーに表示されているスタイルのないテキスト (メモ帳にコピーして貼り付けたかのように) を返すことができれば、それは素晴らしいことです。

0 投票する
2 に答える
1239 参照

javascript - Javascript:: firstChild の textContent/innerText

私のコードは、私が取得しようとしていることをほとんど説明しています:

►コンソールでASCII値を取得する予定です。

ここで必要な微調整