2012-02-15 27 views
2

新しいウィンドウを開き、そこに含まれる要素を返す必要があります。Javascript開いているウィンドウから要素を取得する

は、私が欲しい、我々はページAとページBがあるとしましょう:

  • から
  • オープンBは私がそうしようとした
  • にBに興味を持つ要素

  • が返す要素を取得しますこの方法では動作しません:

    var newwindow = window.open("http://www.example.com"); 
    var elem = newwindow.document.getElementById('my-id').value; 
    

    私は間違っていますか?誰か私に何かアドバイスをありますか?

  • +0

    wat今まで試しましたか? –

    +2

    @VivekChandra - 質問に* *コードがあります。 – Quentin

    +2

    何が問題なのですか? Javascriptエラーがありますか?実行しますが、何も返しませんか?それは実行されますが、間違った値を返しますか? –

    答えて

    5

    絶対URIを使用しているので、別のWebサイトからデータを取得しようとしていると仮定します。したがって、the same origin policyによってブロックされます。

    そうでない場合は、読み込みが完了する前にドキュメントの内容を読み込もうと競合状態に陥っている可能性があります。

    ブラウザがほぼ確実にJSコンソールにログオンしているというエラーメッセージを表示すると、助けがさらに簡単になります。

    +0

    これは私が持っているエラーです: TypeError:未定義のメソッド 'getElementById'を呼び出すことができません – marcosec

    0

    新しいウィンドウに同じプロトコル、ドメイン、ポートがある場合は、コードが機能するはずです。別のドメインにある場合は、セキュリティ上の理由からこれを行うことはできません。

    両方のページを制御する場合は、window.postMessageを使用できます。

    関連する問題