DNN - 如何为 Bootstrap / JQuery 文件添加 CDN(云)引用?

DNN - How can I add CDN (cloud) references for Bootstrap / JQuery files?

我有一个 DotNetNuke (DNN 9.0) 网站,我看到 CSS/JQuery 文件在 *map.XML 文件中被引用为主菜,如下所示:

  <item key="7d14598udfghjho0348dfdgvt4644" file="" compression="" version="180">
    <files>
      <file name="/Resources/libraries/jQuery/01_09_01/jquery.js" />
      <file name="/Resources/libraries/jQuery-UI/01_11_03/jquery-ui.js" />
    </files>
  </item>

我想对这些引用有更多的控制,例如能够引用云 (CDN) 链接,例如 JQuery 在下面提供 CDN:

<script
  src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"
  integrity="sha256-xI/qyl9vpwWFOsdaf/9WkG5j/SVasdf1viy8fWwbeE="
  crossorigin="anonymous">
</script>

我的问题是除了引用这些文件的 map.XML 文件之外,我找不到任何其他地方,而且这个 XML 文件似乎不是 CDN 引用或任何修改的正确位置,因为 DNN 会重新生成此文件并覆盖手动添加。

我们将不胜感激您的想法。

从 DNN 9 开始有点隐藏。转到设置 >> 扩展,select JavaScript 下拉列表中的库,单击 JavaScript [= 旁边的铅笔24=] 库,select 扩展设置选项卡并在自定义 CDN 设置中输入 Url。

由于 Bootstrap 库未包含在内,您必须创建它 - 感谢 Brian Dukes,许多流行的库已经打包为 DNN 安装文件,因此您可以转到 https://github.com/EngageSoftware/DNN-JavaScript-Libraries, 下载并安装它。然后你可以像上面一样做。

如果您没有发现可能是您的 DNN 9.0.x 版本中没有该设置 - 无论如何,这是旧的,从那时起已经修复了很多安全问题,所以考虑升级到更新的版本(目前是 9.5.0)。

我在 "Custom CDN" 中添加了 CDN 引用,但刷新页面后仍然加载了本地 JQuery 资源。我发现 this blog 的地址相同,管理员似乎需要直接更新 DNN 数据库 table 才能启用此功能。

  SELECT s.SettingName, s.SettingValue
  FROM  [HostSettings] as s
  WHERE SettingName = 'CDNEnabled'  OR SettingName LIKE '%Custom%jQuery%'