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

Call to function in parent from .JS file from inside iframe

本文关键字:函数 调用 文件 iframe 内部 JS      更新时间:2023-09-26

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

以下是我所做的,但它不起作用:

来自JS文件:

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

从UploaderWindow调用到:

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

在主窗口上:

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

我认为你做得对。不知道click事件中的parent.CallToParent()是否真的引用了父窗口中的函数。如果没有,那么你可以做一些类似的事情。

来自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>

据我所知,这两个上下文之间没有脚本的互操作性。

如果您可以控制iframe内容,那么您可以实现一个"中间人"服务来传送消息。