【问题标题】:Fallback for jquery CDN not workingjquery CDN 的后备不工作
【发布时间】:2014-07-22 22:11:59
【问题描述】:

我在测试页面上有以下 jQuery CDN 后备。我正在使用 chrome 和 IE 在本地进行测试。 CDN 未加载。如果我在 CDN 中使用 http:// 它会加载,但如果我删除它并只使用 // 这对我来说毫无意义。如果脚本未加载条件语句,则应在本地加载它,但事实并非如此。如果我更换

document.write('<script src="/scripts/jquery-2.1.1.min.js"><\/script>')

与

document.write('undefined')

然后我在大约 5 秒后在页面上看到了 undefined 这个词。我没有正确地逃跑吗?这是我的html页面:

<!DOCTYPE html>
<html>
<head>
    <title>jQuery</title>
</head>
<body>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<script>
(window.jQuery || document.write('<script src="/scripts/jquery-2.1.1.min.js">
 <\/script>'));
</script>
<script>
  $(document).ready(function() {
    alert( "welcome" );
  });
</script>
</body>
</html>

【问题讨论】:

  • 顺便说一句,如果我给页面足够长的时间,本地文件最终会启动并运行警报没有问题所以我的问题是暗示我链接到 CDN 的方式。

标签: javascript jquery html cdn fallback


【解决方案1】:

您可能正在使用file:// 协议加载页面。 // 协议的确切含义是“使用与我正在使用的相同协议”。如果您正在查看file://C:/Users/Me/test.html,那么您的//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js 将成为URI file://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js,这不是您计算机上的有效文件路径。如果您想在本地进行测试,您需要在链接中使用http:// 协议,或者在您的机器上将项目托管在 IIS 或 apache 上。

【讨论】:

  • 啊,我明白了,这是本地文件系统的问题。如果我在服务器 IIS 或 APache 上运行它,它会起作用。对吗?
  • 正确,如果您在本地运行它,您的 URI 将是 http://localhost/test.html,而 //ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js 将正确地变为 http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js。
猜你喜欢
  • 2011-09-23
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 2016-05-26
  • 2013-06-30
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
相关资源
最近更新 更多