iFrame onload JavaScript事件

iFrame onload JavaScript事件,javascript,iframe,dom-events,onload,onload-event,Javascript,Iframe,Dom Events,Onload,Onload Event,我有一个iFrame,我想在加载后发送一个JavaScript命令。 我当前的代码如下所示: <iframe src="http://www.test.tld/" onload="__doPostBack('ctl00$ctl00$bLogout','')"> 但使用此代码时,不会执行该命令。我必须改变什么才能让它工作? 只支持Chrome和Firefox。使用iFrame的。JavaScript的onload功能: <iframe id="my_iframe" src=

我有一个iFrame,我想在加载后发送一个JavaScript命令。 我当前的代码如下所示:

<iframe src="http://www.test.tld/" onload="__doPostBack('ctl00$ctl00$bLogout','')">

但使用此代码时,不会执行该命令。我必须改变什么才能让它工作?
只支持Chrome和Firefox。

使用iFrame的
。JavaScript的onload
功能:

<iframe id="my_iframe" src="http://www.test.tld/">
    <script type="text/javascript">
        document.getElementById('my_iframe').onload = function() {
            __doPostBack('ctl00$ctl00$bLogout','');
        }
    </script>
    <!--OTHER STUFF-->
</iframe>

document.getElementById('my_iframe')。onload=function(){
__doPostBack('ctl00$ctl00$bLogout','');
}

您的代码是正确的。只需测试以确保它被调用 比如:


函数doIt(){
警惕(“我在这里!”);
__doPostBack('ctl00$ctl00$bLogout','')
}
document.querySelector(“iframe”).addEventListener(“加载”,函数(e){
this.style.backgroundColor=“红色”;
警报(this.nodeName);
console.log(如target);
} );

更新

从jQuery 3.0开始,新语法仅为。在:

请参见以下内容和代码:

$('iframe').on('load', function() {
    // do stuff 
});

iframe是否加载页面?是的,这样做没有问题。您如何知道“命令未执行”?因为我仍在登录。如果我单击网站上的“注销”按钮,将触发命令“我已注销”。错误,您是否已“登录”?试试看:
也许你可以看看本机的javascript版本,它似乎也不起作用:xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){document.getElementById(“loadTo”).innerHTML=u doPostBack('ctl00$ctl00$bLogout','';}我把代码改成了javascript。我希望这能起作用,我自己还没有测试过@PelekeThanks,但这也没用。也许这是不可能的!?网站上注销按钮的代码是:在我的网站上查看一下(尝试从iframe更改url以加载一些大页面)尝试:函数doIt(){alert(“我在这里!”;}sdsd.com“>确保允许加载加载到iframe中的url,”查看Chrome Development tools中加载错误的输出。如果不允许加载,则永远不会调用onload事件。当我运行此代码时,URL“”没有任何限制,也没有加载错误。尝试一下。确保加载中的L是小写,所以“L”不是“L”。所以onload=“doIt()”不是onload=“doIt())“这种添加“加载”侦听器的方法与设置iframe.onload=a函数的另一种方法有什么区别?@rasen58,它们都做完全相同的事情。
addEventListener
的优点是,您可以向加载事件添加多个事件侦听器。有关更多详细信息,请参阅此答案。
$('iframe').on('load', function() {
    // do stuff 
});