0

ifraem内の要素にクリックイベントを割り当てる方法は?

iframe が読み込まれているかどうかを検出する投稿を開始しました。

iframe がロードされているかどうかを検出するにはどうすればよいですか?

さらに質問があります

イベントを割り当てたり、iframe 内の要素を操作するにはどうすればよいですか??

私は試した..

$(function(){
    $('#click').on('click', function(){
        var ifr=$('<iframe></iframe>', {
            id:'MainPopupIframe',
            src:'http://heera.it',
            style:'display:none',
            load:function(){
                $(this).show();
                alert('iframe loaded !');
            }
        });
        $('body').append(ifr);    

    //when I click the home page button, nothing happen...
    $('#menu-item-277').click(function(){
       alert('click!!!');
    })
    });
});
​

助けてくれてありがとう。

4

2 に答える 2

1

iframe のコンテンツが親ページ以外のドメインに存在する場合、クロス ドメイン セキュリティ制限 (同一オリジン ポリシー) により、これは不可能です。

両方のドメインにアクセスできる場合は、Ben Alman の優れたPostMessageなどのプラグインを使用して、クロスドメイン/クロスブラウザの iframe 通信ストリームを設定してみてください。次に、ローカル DOM 要素のイベントにバインドしclick、メッセージを iframe に送信して、ポーリング ループがそれをリッスンしclick、iframe 内でイベントをトリガーすることができます。

これが役立つことを願っています。

于 2012-09-04T20:45:23.493 に答える
0

同一オリジンポリシーによりできません。基本的に、iframe は、それを変更しようとしているスクリプトと同じドメインにある必要があります。

于 2012-09-04T20:45:00.770 に答える