javascript - 如何延迟加载内联 JavaScript?

标签 javascript lazy-loading

我想仅在到达特定 div 时加载横幅广告脚本。例如 - 页面底部的横幅 div。

我可以使用jquery惰性脚本加载外部脚本:

var options = {
    type: "visible",
    id:"mydiv", //div Id
    scripts: [
        "1.js",
        "2.js",
        "3.js"
            ],
    success: function () {

    }
};
$.lazyscript(options);

但是如何加载内联脚本呢?

谢谢。

最佳答案

整个 html 文档从上到下进行解析,包括脚本标签。所以从这个意义上说,您的内联 JavaScript 已“加载”。我可能误解了你的问题。

如果您不希望内联脚本在解析后立即执行,则需要在内联脚本中使用某种事件监听器。

例如,假设您的内嵌横幅广告代码包含在函数中

<script>
loadBannerScriptAd()
</script>

你需要写一些类似的东西

<script>
$(document).on("loadBannerScript", loadBannerScriptAd)
</script>

您可以随时触发

$(document).trigger("loadBannerScript")

所有这些都是假设您有基于上面给出的代码示例的 jquery。查看http://api.jquery.com/trigger/有关如何通过 jquery 触发自定义事件的详细信息。

关于javascript - 如何延迟加载内联 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111659/

相关文章:

javascript - Safari ipad 上的错误 ScrollTop

entity-framework - 在 Entity Framework 4 中默认禁用延迟加载

reactjs - Nextjs 检查初始渲染是否在服务器端完成

Javascript - 只选择字符串中的特定模式

javascript - 为什么我不能在回调中引用我的 jQuery 对象?

javascript - 如何通过json对象的选项卡中的Id检查对象是否存在?

javascript - 一段代码阻止另一段代码工作

javascript - 如何在没有 JQuery 的情况下正确实现无限滚动的 AngularJS 表?

javascript - 从数组对象延迟加载数据

nhibernate - 什么时候应该避免使用NHibernate延迟加载功能?