0

アップローダー機能を備えたJSファイルがあります。このファイルは、iframe ウィンドウから呼び出されます。ユーザーの行動に応じてアラートを表示する必要があります。

これが私がやったことですが、うまくいきません:

JS ファイルから:

$('#btnUpload').on('click', function(){
    parent.CallToParent();
});

そして UploaderWindow 呼び出しから:

function CallToParent()
{
   parent.ShowAlert();
}

そしてメインウィンドウで:

function ShowAlert()
{
   alert('some alert');
}
4

2 に答える 2

1

あなたはそれを正しくやっていると思います。イベントの が実際に親ウィンドウの関数を参照してparent.CallToParent()いるかどうかはわかりません。clickそうでない場合は、次のようなことができます。

JS ファイルから:

$(document).ready(function () {
    $('#btnUpload').on('click', function() {
        callParent();
    })
});

そしてiframeから:

<script type="text/javascript" src="/common/jq.js"></script>
<script type="text/javascript" src="c.js"></script>
<script>
    function callParent() {
        parent.fn();
    }
</script>

<input id="btnUpload" type="button" />

メインファイル

<script>
    function fn() {
        console.log('Parent function called');
    }
</script>

<iframe src="b.html"></iframe>
于 2013-02-11T10:37:48.370 に答える
0

私の知る限り、これら 2 つのコンテキスト間でスクリプトの相互運用性はありません。

コンテンツを制御できる場合は、iframeメッセージをパイプする「仲介者」サービスを実装できます。

于 2013-02-11T10:18:21.987 に答える