当前位置:   jquery > 正文

Mvc完成异步脚本加载

javascript,c#,asp.net-mvc,jquery,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我的网页上有异步加载脚本的小问题.我需要异步加载页面的所有脚本.我尝试了很多程序,我在谷歌上发现,但它仍然不完美.

现在我有这样的:

    将所有脚本从布局拆分为一个包,包括jquery.

    在页面底部调用带有异步标记的RenderFormat.

    现在这就是我遇到问题的地方:我需要解决由@RenderFormat呈现脚本的情况.问题是这些脚本的渲染时间比我需要的要早.

例如,我在Home/Index文件中有这个:

@Scripts.RenderFormat("", "~/bundles/raphael")

或者干脆

...
$(".datapicker").datapicker();
...

这里我们得到错误," $未定义 ",因为尚未加载jquery.

在内容之后,在布局文件中我有:

...
@Scripts.RenderFormat("", "~/bundles/frontall")
...
@RenderSection("scripts", required: false)

如果我将所有脚本放在页面上并将它们放到一个包中,一切都很好,但我不希望脚本被渲染,我只需要在特定的部分中执行此操作.

接下来的想法是创建一个自定义的RenderSection方法,它会像这样做:

    function async(u, c) {
    var d = document, t = 'script',
        o = d.createElement(t),
        s = d.getElementsByTagName(t)[0];
    o.src = u;
    if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
    s.parentNode.appendChild(o, s);
}

async("/bundles/jquery", function() {
    //here, load scripts from inner pages. Index, Detail...
});

有办法,怎么解决?非常感谢您的宝贵时间.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/jquery/detail/13714
推荐阅读
相关标签
  

闽ICP备14008679号