2016-05-20 2 views
0

クロム拡張を作成するには非常に新しいです。chrome.tabs.createを使用して新しく作成したクロムタブからエレメントテキストを取得する方法

私は、コードを使用して、いくつかのタブを作成してい

chrome.tabs.create({URL: "https://www.example.com/user.html#e" +はuserId、アクティブ:真}、機能(タブ){}

ポストの作成方法私は、DOMと、新しく作成されたタブ内の要素にアクセスすることができます。

私を助けてください。

答えて

0

コンテンツスクリプト

Chrome拡張機能は、content scripts.

によってDOMにアクセスできます。ドキュメントに記載されているとおり、これらのスクリプトはタブにロードしてそこからDOMにアクセスできます。

manifest.jsonを::

{ 
    "version": "0.1.0", 
    "name": "Hello world", 
    "description": "Sample extension using content script", 
    "permissions": [ 
    "<all_urls>", 
    "tabs" 
    ], 
    "content_scripts": [ 
    { 
     "matches": [ 
     "http://*/*", 
     "https://*/*" 
     ], 
     "js": [ 
     "contentScript.js" 
     ], 
     "run_at": "document_end" 
    } 
    ], 
    "manifest_version": 2 
} 

contentScript.js:たとえばあなたは、コンテンツのスクリプトや拡張の背景の間でメッセージやデータを送信したい場合は

var myElement = document.getElementById("mySelect"); 

// Logic to alter myElement, etc. 

ます」 message passingを見てみる必要があります。

chrome.tabs.executeScript

またchrome.tabs.executeScriptメソッドを使用してDOMにアクセスすることができます。

This SO answerについて説明します。

+0

入力用のDanさんありがとうございます。私が作成した各タブの要素を読み込むためのすべてのロジックを持つことができる「コード」の代わりにJSファイルを作成できますか? –

+0

@ Ramは確かに、各タブに挿入された別々のファイルを望むなら、コンテンツスクリプトを使いたいと思う。私は例で私の答えを更新しました。 – dan

+0

もう一度Danに感謝します。今度は 'document.body.style.backgroundColor = "red"; "を使って背景色を設定することができます。しかし、要素のテキストを取得するためのクエリがページが読み込まれる前に実行されるように非常にゆっくり読み込まれる要素はほとんどないので、エラーが発生しています。あなたの考えは –

関連する問題