1

私がやろうとしているのは、ユーザーがページ上のテキストを選択してハイライトし、この選択をロードして、その後のアクセスで再度ハイライトできるようにすることです(純粋にクライアント側のJavaScriptを使用して、パッケージ化する予定です)これは将来的にChrome拡張機能になります)。

でテキストを選択していますがwindow.getSelection、AFAIKでは、選択したテキスト(または要素)に関するインデックスや配置データは提供されません。

私が現在考えている唯一の方法は、実際のテキストを記録して検索することですが、これは一意性の問題を引き起こします(同じテキストの文字列が特定のページに複数回表示される可能性があります)。DOMツリーを上向きにトラバースし、含まれている要素への「パス」を格納する方法はありますか(そして、その1つの要素内の一意性についてのみ心配する必要があります)?より良い方法がなければ、私はそれに満足しているでしょう。

ありがとう

編集:私が今していることはこれに似たものです:http://jsfiddle.net/e3XX6/

4

1 に答える 1

2

selectionメソッドによって返されるオブジェクトを調べましたgetSelection()か?たとえば、プロパティがあり、anchorNodeそのプロパティがプロパティを持っていparentElementます。その最後のプロパティは、テキストを含む要素を示します。

このバージョンのフィドルを参照してください(コンソールを開いてください!):http://jsfiddle.net/e3XX6/1/

また、これをChrome拡張機能にするので、HTML5Webストレージを使用して選択内容を覚えておくことをお勧めします。

于 2013-02-24T23:32:30.187 に答える