39

選択したテキストを Chrome 拡張機能に取り込む方法を探しています。

元にしたい。Facebook フィードでテキストを選択し、アイコンをクリックするとアイコンが取得され、選択したテキストが拡張機能に表示されます。

私はこれまでにこれを得ました:

chrome.tabs.executeScript(null, {
  code: "alert(window.getSelection().toString());"
})

選択したテキストを取得し、Chrome でメッセージを表示して警告します。ただし、htmlポップアップに表示したいです。次のように書きたいと思います。

document.getElementById("output").value = "Selected text here(but how)"

助けが必要!これについて他の質問があることは知っていますが、彼らは私が望むものを正確に与えてくれませんでした..

4

3 に答える 3

43

実行されたコードによって評価された最後の式をコールバック関数で使用できます。

chrome.tabs.executeScript( {
  code: "window.getSelection().toString();"
}, function(selection) {
  document.getElementById("output").value = selection[0];
});
于 2013-10-03T17:57:33.457 に答える
5

これは、拡張メッセージングを使用して行うことができます。基本的に、「バックグラウンド ページ」がリクエストをサービスに送信します。たとえば、「ポップアップ」があり、それをクリックすると、サービスである「Google 検索」が実行されるとします。

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if (request.method == "getSelection")
      sendResponse({data: window.getSelection().toString()});
    else
      sendResponse({}); // snub them.
});

参考文献

  1. ページ上で強調表示されたテキストを受け取り、それを popup.html のテキストエリアに挿入する chrome 拡張機能を作成する

または、このプラグインを使用できます

  1. https://chrome.google.com/webstore/detail/view-selection-source/fbhgckgfljgjkkfngcoeajbgndkeoaaj
于 2013-10-03T16:34:48.173 に答える