1

iFrame を含む html ページがあり、そこからいくつかの変数を読み取りたいと考えています。その基本的には、緯度と経度の値を取得したい地図です。

私は Adob​​e AIR で作業しており、innerHTML、contentWindow から値を取得しようとしましたが、まだこれを機能させることができませんでした。

これを行う良い方法はありますか?

4

6 に答える 6

1

ブラウザーのセキュリティ モデルは、クロスドメイン トラフィック/通信を禁止します。異なるサブドメインを扱っている場合は、ルールを緩和してトップ ドメインにすることができます。しかし、最終的には、あなたに頼ることはできません。

ドメインの境界を越えて通信する必要があるアプリケーションがある場合、通常はバックエンドを経由するのが最善の策です。iframe 内のコンテンツを制御しないと、通常はうまくいきません。参考までに、Google マップはアプリケーションを使用するための API を提供しています。http://code.google.com/apis/maps/index.html

于 2009-06-19T17:21:54.943 に答える
0

返信してくれてありがとう、

@svend:「バックエンドを経由する」とは正確には何ですか?私はそれを理解していません..私は他のドメインにあるiFrameのコンテンツを制御します。

@ウェバー:そのリンクウェバーをありがとう...それは私のためにうまくいくように見えます..私はそれを試してみます...

于 2009-06-22T04:57:47.610 に答える
0

私はこのようにしなければなりませんでした:

1-ユーザーが変更するたびにlngとlatを保存するiframeを含むファイル内に非表示の入力を追加します。

2- js でこの関数を作成します。

function getFrameWindow(frameId) {

  var frame = document.getElementById(frameId);
  var result = null;
  if (frame.contentDocument) {
    // For NS6
    result = frame.contentDocument.window || frame.contentDocument.defaultView; 
  } else if (frame.contentWindow) {
    // For IE5.5 and IE6
    result = frame.contentWindow;
  } else if (frame.document) {
    // For IE5
    result = frame.document.window;
  }
  return result;
}

3- iframe を含む JavaScript からこのコードを使用しました。

getFrameWindow("iframe").document.getElementById("lat").value
于 2010-02-02T09:11:36.170 に答える
0

jQuery を使用して、iframe 内のコンテンツにアクセスできます。

<iframe id="iframeId" ...> .... <div id='someData'>data</div> ....</iframe>
$('#iframeId').contents().find('#somedata').html(); // returns data
于 2009-06-18T19:23:42.063 に答える
0

アプリケーションから非アプリケーションへのサンドボックス ブリッジを使用する必要があります。これにより、2 つの領域 (iframe と一般) の間で通信できるようになります。ここを見てください http://www.adobe.com/devnet/air/ajax/quickstart/sandbox_bridge.html

于 2009-06-21T09:44:27.920 に答える
0

アプリケーションから非アプリケーション サンドボックス ブリッジへのアプリケーションは、クロス ドメイン通信の場合に機能しました。

返信ありがとうございます。

于 2009-06-23T08:17:01.757 に答える