簡體   English   中英

嘗試從父頁面在iFrame中調用函數時,為什么會收到TypeError?

[英]Why am I getting a TypeError when trying to call a function in an iFrame from the parent page?

我有一個頁面(父頁面),其中嵌入了一個iFrame(子元素),該iFrame包含我需要從父對象調用的javascript函數。 該頁面位於不同的域中,但我不知道這是否是問題。 這是我在父頁面上的代碼:

<script type="text/javascript">
    function SaveChanges() {
        var iFrame = document.getElementById("iframeSite");
        iFrame.contentWindow.ExecuteSave();
    }
</script>

...以及我在子頁面上的代碼:

<script type="text/javascript">
    function ExecuteSave() {
        alert("test1");
    }
</script>

當我在父級中調用“ SaveChanges”時,它在嘗試調用“ ExecuteSave”的那一行出錯。

Uncaught TypeError: Property 'ExecuteSave' of object [object DOMWindow] 
is not a function

我已經嘗試了調用子iFrame函數的各種方式,但仍然收到相同的錯誤。

由於iframe位於不同的域中,因此您將無法在它們之間直接調用。 這將違反《 同源起源政策》

用於具有iframe和父母交流的認可方式。 它稱為postMessage()

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM