Javascript 如何使用JS在iframe中调用函数?

Javascript 如何使用JS在iframe中调用函数?,javascript,html,iframe,Javascript,Html,Iframe,如何使用JS调用iframe中的函数,或者如何甚至针对iframe?我尝试过使用document.getElementByID(“myIframe”),但似乎不起作用。以下是HTML的基本形式: <html> <head> <script> function runFunction() { var win = document.getElementByID("myIframe"); } </script> </

如何使用JS调用iframe中的函数,或者如何甚至针对iframe?我尝试过使用
document.getElementByID(“myIframe”)
,但似乎不起作用。以下是HTML的基本形式:

<html>
<head>
<script>
    function runFunction() {
        var win = document.getElementByID("myIframe");
    }
</script>
</head>
    <body onload="runFunction()">
        <iframe id="myIframe" name="myIframe" src="http://www.myothersite.com/"></iframe>
    </body>
</html>

函数runFunction(){
var win=document.getElementByID(“myIframe”);
}

我的另一个站点有一个名为getEvents()的函数,我想以某种方式调用它。任何帮助都将不胜感激

您应该能够访问
iframe
并使用以下命令调用该函数:

// reference to window in iframe with id or name 'myIframe'
var win = window.frames['myIframe'];

// invoke function in win
win.getEvents();
您可以使用可用于访问属于
iframe
元素的窗口对象的属性

contentWindow
属性通过iFrame元素返回窗口对象(通过窗口对象,您可以访问文档对象,然后访问文档的任何一个元素)。此DOM属性是只读的


所以当你做
console.log(win)
时,你什么也得不到?你的其他站点在同一个域中吗?Satpal的答案看起来是正确的,但前提是iframe与主页在同一个域中。如果站点位于两个不同的域中,您将无法调用该函数。它是同一个域。Satpals answer似乎没有为我调用该函数。如果您没有收到任何反馈、错误等,您如何知道它是否正在调用该函数?因为该函数执行AJAX调用以收集当天的所有事件,并将访问日期记录到表中。Satpal没有在日志表中插入访问日期,但夜猫子会这样做。现在我只需要尝试访问结果。我想这调用了我的函数。我能得到它返回的结果吗?我接受了你的答案,因为你确实回答了我的问题,但是如果你能帮助得到结果,那将非常有帮助!TIA需要任何建议。
document.getElementById("myIframe").contentWindow.getEvents();