gpt4 book ai didi

orchardcms - Javascript 的顺序包含在 Orchard 中

转载 作者:行者123 更新时间:2023-12-04 15:46:58 28 4
gpt4 key购买 nike

我正在尝试在 Orchard 中创建一个主题,并在我的布局中添加了一些脚本:

Script.Include("//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js").AtHead();
using (Script.Head()) {
@:<script>window.jQuery || document.write('<script src="scripts/jquery-1.7.1.min.js"><\/script>')</script>
}

Script.Include("plugins.js").AtHead();
Script.Include("script.js").AtHead();

我想从 Google CDN 加载 jQuery,但如果无法加载 CDN 版本,则有本地回退。为了实现这一点,我在 jQuery 脚本之后添加了脚本 block 。但是,在查看生成的页面源时,它看起来像:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"  
type="text/javascript"></script>
<script src="/OrchardLocal/Themes/Test/scripts/plugins.js" type="text/javascript">
</script>
<script src="/OrchardLocal/Themes/Test/scripts/script.js" type="text/javascript">
</script>
<!--[if lt IE 9]>
<script src="/OrchardLocal/Core/Shapes/scripts/html5.js" type="text/javascript">
</script>
<![endif]-->
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')
</script>

问题是我的后备现在在所有其他脚本之后,而我希望它在 jQuery CDN 脚本包含之后。

有什么方法可以控制 Orchard 渲染内联脚本 block 的位置吗?

最佳答案

目前看来,当您混合 Script.Include() 时,无法控制脚本的顺序。与 Script.Head()Script.Foot() .

但是,有一种方法可以将 CDN 与 Orchard 一起使用。但是,不幸的是,它不能正常工作。您应该可以指定 Script.Require("jquery").AtHead().UseCdn()处理你在这里尝试做的事情。这些方法已经存在,但它们不起作用有两个原因:

  • jQuery 模块目前未指定 CDN URL
  • 依赖 UseCdn() 的方法生成脚本标签的方法无法正常工作

  • 已经有一个 reported issueOrchard Codeplex对于这个问题。 Orchard 团队将其状态更改为 Active因此,希望该错误将很快得到解决。我已经对这个问题进行了投票,所以你可以向 Orchard 团队发出信号,让他们比其他一些错误更快地解决这个错误。

    同时,你可以做和我一样的事情——加 Document.cshtml模板到你的主题(你可以从 /Core/Shapes/Views/Document.cshtml 复制它),找到这一行: @Display(Model.Head) (这是所有头脚本和样式所在的地方),最后,在该行之上,您可以添加以下代码:
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script>!window.jQuery && document.write('<script src="@Url.Content("~/Themes/[NAME-OF-YOUR-THEME]/Scripts/jquery-1.7.1.min.js")"><\/script>')</script>

    并更改 [NAME-OF-YOUR-THEME]与您的主题的文件夹名称。

    关于orchardcms - Javascript 的顺序包含在 Orchard 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619996/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com