0

私はGoogle Chrome拡張機能を開発しようとしていますが、その一部でchrome.tabs.create( { url: "https://google.com/search?q=" +document.execCommand("paste") } );あり、リンクが「https://google.com/search?q=true」として表示されます。ありがとう!

4

1 に答える 1

0

execCommand('paste')そのようには機能しません。クリップボードの内容を返すのではなく、誰かが Command+V または Control+V を押した場合とまったく同じことを行います。テキストカーソルがある場所にテキストを貼り付けます。

拡張機能でおそらくやりたいことは、拡張機能のバックグラウンド HTML ページにテキストエリアを作成しfocus、それからコマンドを実行することです。そこから、テキストエリアからテキストを読むことができます。

バックグラウンド ページに慣れていない場合は、Chrome のドキュメントから詳細を取得できます。

Chrome ではさまざまなサンドボックス制限が適用されるため、バックグラウンド ページを使用する必要があります。execCommand('paste')背景ページなど、より特権的な場所でのみ使用できます。

sendMessageJS ファイルとバックグラウンド HTML ページ間の通信に使用できます。

于 2012-12-04T03:52:03.637 に答える