2012-04-04 2 views
0

これは私のコードです。私はiframeにウェブサイトをロードしようとしています。ウェブサイトがロードされると、私は(私がクリックされた)のdiv IDを選択するために、iframe内をクリックしたいiframeでdiv id onClickイベントを選択するにはどうすればよいですか?

<iframe name="frameID" id="frameID" src="http://www.test.com" style="width:100%;height:400px;"></iframe> 

$(document).ready(function(){ 
$('#frameID').load(function(){ 


    $('#frameID').contents().bind("click", function() { 
     var a = $(this).id; 
     alert (a); 
     return false; 
    }); 
}); 

});

たとえば、iFrameに読み込まれたウェブサイトのフッターをクリックすると、div id "footer"を表示したいと考えています。

しかし、私はそうすることができません、それは私を未定義に戻し続けます。

+1

iframeが別のドメインにある場合、これを行うことはできません。 –

+0

こんにちは、申し訳ありませんが、私は自分自身を明らかにしませんでした。 http://www.test.comは単なる例です。正確なURLはhttp://www.mysite.com/test.phpでなければなりません - >私はファイルの内容をPHPで取得し、私のPHPファイル(test.php)に結果をエコーし​​ます。 – Slay

答えて

3

あなたはIFRAME内でクロスドメインのドキュメントオブジェクトにアクセスすることはできません

$('#frameID').contents().find('body').on("click", "div", function() { 
    var a = this.id; 
    alert (a); 
    return false; 
}); 
+0

試してみました。 – Slay

+0

@DerekAngこれは両方のiframeが同じドメインにある場合にのみ有効です –

+0

こんにちは、それらは同じドメインにあります。 http://www.mysite.com/index.phpにはiframeが含まれています。 http://www.mysite.com/test.phpは、URLの内容を取得してエコーした場所です。 – Slay

1

を試みることができます。たとえそれがあなたの地域で働いていても、それはウェブサイト上で働くことはありません。

+0

こんにちは、私はjqueryを初めて使っています。 – Slay

+0

コードが動作しないウェブサイトを読み込もうとしています。したがって、ブラウザ側の制約のため、そのiframe内のオブジェクトにアクセスすることはできません。 – Zuuum

+0

こんにちは、私は、ページのファイルの内容を取得し、それを私のPHPファイルの一つに出力するためにPHPを使用しました。 正確なURLはhttp://www.mysite.com/test.phpにする必要があります – Slay

関連する問題