10

現在のタブ DOM にアクセスして、background.html からページから情報を抽出する方法を見つけるために、Web を検索しています。これまでのところ、運がなかったか、少なくとも適切に機能することができませんでした。

問題を簡単に言うと。ページ上の iFrame の src を取得したいと思います。助言がありますか?

4

1 に答える 1

7

1 つの方法として、アクセスしたい dom をフェッチする content-script への 1 回限りのリクエストとしてこれを扱います。 http://code.google.com/chrome/extensions/messaging.html#simple

基本的に、コンテンツ スクリプトはリスナーを設定します。

chrome.extension.onRequest.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "hello")
      sendResponse({farewell: "goodbye"});
    else
      sendResponse({}); // snub them.
  });

そして、バックグラウンド ページは単一の有効なリクエストを送信します。

chrome.tabs.getSelected(null, function(tab) {
  chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
    console.log(response.farewell);
  });
});

応答を送信するときは、JSON データとして送信し、必要なもの (html、dom、テキストなど) を取得できます。

現在のところ、バックグラウンド ページにページの内容を知らせる唯一の方法です。コンテンツ スクリプトとタブのアクセス許可が必要になることに注意してください。

于 2010-01-14T12:20:24.973 に答える