現在アクティブなウェブページから選択したテキストをlocalstorageに保存する拡張機能を作成しています。ユーザーが拡張機能のポップアップでこの選択したテキストをクリックすると、拡張機能はchrome.tabs.createを起動し、テキストが選択されました。これらの関数は機能しますが、新しいタブが開いたときに 'find'関数をトリガする方法はわかりません。私は、新しく作成したタブに、自分の拡張機能が保存している選択されたテキストを高くしたい。私はChrome拡張機能:検索バーとサプライテキストを表示するにはどうすればよいですか?
は何とかデフォルトでブラウザが持っている「検索」機能をトリガ...これを行うには二つの方法があると思います。 'Ctrl + F'または 'Command + F'を使用して選択したテキストをトリガーして挿入します。
選択したテキストをハイライト表示して、新しく作成したページのHTMLを編集します。
new_source = { "url" : tab[0].url, "title" : tab[0].title, "quote" : selectedQuote, "id" : idSource};
sources.push(new_source);
localStorage["sources"] = JSON.stringify(sources);
これは、私はあなたがChromeのネイティブ検索ダイアログをトリガすることはできませんが、あなたはwindow.find()
を呼び出すことができ、私の情報
残念ながら、私はこれを見た場所を覚えていませんが....私はかつて誰かが、選択されたテキストが入っていた要素にxpath(querySelectorもクールです)を作成してからそれを保存することを見ました。次に、ページを開き、その要素のテキストを再選択するだけです。 – PAEz
ええ、それはほとんどの場合うまくいくはずですが、コンテンツが動的な場合(たとえば、選択したノードがコメントリストの1つで、コメントが追加されるとページ上の位置が変更されるなど) – int3