从内部iframe调用来自.JS文件的父级函数

时间:2013-02-11 10:16:15

标签: javascript asp.net html iframe

我有带有上传功能的JS文件。 此文件从iframe窗口调用。 我需要根据他的行为向用户显示警告。

这就是我所做的,但它不起作用:

来自JS档案:

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

从UploaderWindow致电:

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

在主窗口上:

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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

据我所知,这两种情境之间没有脚本的互操作性。

如果您可以控制iframe内容,那么您可以实施“中间人”服务来管道消息。