0

次のコードを含む iframe があります。

$(document).ready(function(){
    $('.checksum').click(function(){
        window.parent.Clickarunsuministro($(this).val());
    })
})

をクリックする.checksumと、親で関数を呼び出したいです。Chrome と IE では完全に機能しますが、Firefox では機能しません。

表示されるエラーは次のとおりです。

Permission denied to access property 'Clickarunsuministro'

問題の可能性はありますか?

4

2 に答える 2

0

jqueryカスタムイベントを使用して試すことができます

iframe内

$(document).ready(function(){
    $('.checksum').click(function(){
        $(window).trigger('clickarunsuministro', {data: $(this).val()})
    })
})

親で

$('<frame-selector>').on('clickarunsuministro', function(event){
    console.log('data', event.data)
})
于 2013-06-21T03:30:53.317 に答える
0

一般に、iframe とそれらが実行されるページは、セキュリティ上の理由から直接対話することは許可されていません。代わりに、イベントを使用messageして、所有しているドキュメントと iframe の間で文字列と json オブジェクトを送信できます。方法と理由の詳細については、https ://developer.mozilla.org/en-US/docs/Web/API/window.postMessage?redirectlocale=en-US&redirectslug=DOM%2Fwindow.postMessageを参照してください。

コードは現在 Chrome と IE で動作する可能性がありますが、すぐに動作しなくなる可能性が高いため、この場合はコードを将来的に保証することをお勧めします。

于 2013-06-21T03:22:01.040 に答える