【问题标题】:online cdnjs script is not attaching(loading) while page runing on browser在浏览器上运行页面时,在线 cdnjs 脚本未附加(加载)
【发布时间】:2018-04-09 20:03:49
【问题描述】:

在我的 HTML 页面中,我想加载以下 CDNjs

<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js"></script>

但在浏览器中加载如下

GET http://localhost:8080/cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js 404(未找到)

现在,我的问题是如何消除附加域名(localhost:8080) 以正确加载我的脚本。 我也试过了

<script src="../cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js"></script>

<script src="../../cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js"></script> 但结果是一样的。

谢谢。

【问题讨论】:

  • 你能给我们看完整的HTML源代码吗?或者至少是完整的 标签?
  • 我想知道,你的代码中有 吗?

标签: javascript html dom cdn


【解决方案1】:

检查下一行。

<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js" async></script>

【讨论】:

    【解决方案2】:

    您需要使用 FQDN 到 CloudFlare。您当前正在执行相对路径查找。

    你不应该在这里取消 https:,使用 // 并且浏览器会自动检测。即

    <script src="//cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js"></script>
    

    【讨论】:

    • 如果脚本在您的服务器本地,您将使用相对 URL。外部资源必须由 FQDN 加载。
    • 仍然加载域名(localhost:8080/myscriptLink)。问题没有解决。谢谢
    【解决方案3】:

    查看tether中的示例 我发现sample在这里我们使用如下,你可以修改为cdnjs链接。我建议以隐身模式打开。

    有几种方法可以执行外部脚本:

    • 如果存在异步:脚本与页面的其余部分异步执行(脚本将在页面继续解析时执行)

    例子:-

    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js" async></script>
    
    • 如果 async 不存在而 defer 存在:脚本在页面完成解析后执行

    例子:-

    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js" defer></script>
    
    • 如果 async 或 defer 都不存在:在浏览器继续解析页面之前立即获取并执行脚本

    例子:-

    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js"></script>
    

    【讨论】:

      【解决方案4】:

      您应该使用以下方式来包含 cdn 文件。

      <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.3/js/tether.min.js"></script> 
      

      【讨论】:

      • 你不应该取消 https: 在这里,使用 // 并且浏览器会自动检测。即
      • 但这并不意味着我们不能使用。按照标准描述 HTTPS 或 HTTP 是最佳实践。
      • 我的脚本和你建议的一样,先生。但它不起作用....它在内部附加domainname/mylink 如何避免这种情况?
      • 如果您访问了一个 HTTP 页面但强制请求一个 HTTPS 页面,您将收到控制台错误。
      • @Spechal 但这是 cdnjs.cloudflare 运行 Https 的问题,这只是我的观点。我想我们可以在这里结束讨论
      猜你喜欢
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      相关资源
      最近更新 更多