【问题标题】:jQuery - appended script executed after all page loadedjQuery - 在所有页面加载后执行的附加脚本
【发布时间】:2013-12-18 17:39:48
【问题描述】:

我目前正在处理具有一个 iframe 和一个添加菜单栏的脚本的页面。

iframe 的脚本加载时间很长,菜单的其他脚本必须像这样动态添加:

jQuery(document).ready(function () {
    var script = document.createElement('script');

    var url = 'URL TO SCRIPT THAT ADD MENU BAR';
    script.type = 'text/javascript';
    script.src = url;
    jQuery("head").append(script);

});

经过测试,该代码似乎已执行,但 Chrome 等待 iframe 完全加载,因此当 iframe 页面完成加载几秒钟后,该栏会出现。

那么有没有办法执行 iframe 中脚本之前附加的脚本?

谢谢:)

【问题讨论】:

  • 我不能 100% 确定,但你可以把它从 DOM 中取出,让它立即触发吗?
  • 已经试过了。实际上它执行“jQuery(“head”).append(script);”行,但附加的脚本未执行。

标签: javascript jquery iframe append


【解决方案1】:

HTML

<iframe onload='load_script()'></iframe>

JS

        function load_script (){
            $.ajax({
                type: "GET",
                url: URL,
                dataType: "script"
            });
        }

【讨论】:

  • ajax 会改变东西而不是直接附加脚本吗?我没有看到这样做的目标^^'
  • 不,你可以追加,但我更喜欢这样做,但重要的是 iframe 的函数 onload。 :)
  • 最终通过在页面加载时更改 iframe 的 src 来工作。 iframe 的负载会造成无限循环 :)
猜你喜欢
  • 1970-01-01
  • 2011-09-02
  • 2014-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-04
相关资源
最近更新 更多