Javascript 在测量Monkey iframe加载后执行操作

Javascript 在测量Monkey iframe加载后执行操作,javascript,iframe,surveymonkey,Javascript,Iframe,Surveymonkey,我正在尝试将SurveyMonkey调查嵌入到我网站的模式窗口中。我可以成功地做到这一点,除了首先出现模式,然后在iframe加载外部内容时出现延迟(这会在iframe及其内容调整模式窗口大小时产生闪烁效果) 为了解决这个问题,我尝试添加一个针对iframe的load/ready事件(它没有ID或类,所以我只能满足于定位.smcx iframe container>iframe。我认为iframe在事件附加之前加载,但是,因为我的模式在进行此修订之后根本没有加载 任何帮助或建议都将不胜感激 脚本

我正在尝试将SurveyMonkey调查嵌入到我网站的模式窗口中。我可以成功地做到这一点,除了首先出现模式,然后在iframe加载外部内容时出现延迟(这会在iframe及其内容调整模式窗口大小时产生闪烁效果)

为了解决这个问题,我尝试添加一个针对iframe的load/ready事件(它没有ID或类,所以我只能满足于定位
.smcx iframe container>iframe
。我认为iframe在事件附加之前加载,但是,因为我的模式在进行此修订之后根本没有加载

任何帮助或建议都将不胜感激

脚本:

// modal.hide();
(function (t, e, s, n) {
    var o, a, c;
    t.SMCX = t.SMCX || [], e.getElementById(n) || (o = e.getElementsByTagName(s), a = o[o.length - 1], c = e.createElement(s), c.type = "text/javascript", c.async = !0, c.id = n, c.src = ["https:" === location.protocol ? "https://" : "http://", "widget.surveymonkey.com/collect/website/js/script.js"].join(""), a.parentNode.insertBefore(c, a))
})(window, document, "script", "smcx-sdk");

$('.smcx-iframe-container > iframe').ready(function () {
    // modal.show();
});
生成的iframe源:

<div class="smcx-widget smcx-embed smcx-show smcx-widget-light">
    <div class="smcx-iframe-container">
        <iframe width="100%" height="100%" frameborder="0" allowtransparency="true" src="https://www.surveymonkey.com/r/9HWYSDW"></iframe>
    </div>
    <div class="smcx-widget-footer smcx-embed-footer">
        <a class="smcx-branding" href="https://www.surveymonkey.com/user/sign-up/?ut_source=powered_by&amp;ut_source2=new_website_collector"
            target="_blank">
            <span class="smcx-powered-by">powered by</span>
        </a>
    </div>
</div>

我知道这很旧,但这可能适用于遇到此问题的人

var iframe = document.getElementsByTagName("iframe")[0];
iframe.onload = functionAddSomething();


function functionAddSomething(){
    //add something here e.g. modal.show();
}
希望这能帮助其他人(如果不是抱歉的话:)