【问题标题】:Code only works on jsfiddle代码仅适用于 jsfiddle
【发布时间】:2014-03-14 07:08:51
【问题描述】:

this question 中,我问,如何根据 div 的数量生成一种颜色的阴影。 @DonJuwe 提出了一个完美的解决方案和演示:http://jsbin.com/xakifequ/1/edit

但是,当我尝试使用来自 jsfiddle 或 JSBin 的代码时,它就不起作用了。 所以我从 JSBin 下载了源代码,打开了 .html 文件,我得到的是:

谁能解释一下,为什么会这样?

【问题讨论】:

  • jQuery 未加载,因为您在 head 中包含没有协议(例如 http)的 jQuery。浏览器自动查找file://,没有jQuery
  • 哦,你的控制台应该会显示一个明确的错误..

标签: javascript jquery html jsfiddle jsbin


【解决方案1】:

根据快照,您正在使用

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>

替换为

<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>

您正在使用无协议 URL,即 //code.jquery.com/jquery-1.9.1.js,当您打开像 file:// 这样的 html 文件时,不会加载 jQuery,因此无法达到预期的结果。

但是,如果您像 http://localhost/yourfile.html 这样测试您的 html 文件,您将获得所需的结果。

注意:当你想从页面继承协议时,使用// 而不是http://

【讨论】:

  • 哇!细节的巨大影响……
【解决方案2】:

您错过了 jQuery 源链接中的 http:。如果您使用online resource,则应遵循url's protocol。其他明智的浏览器将从本地搜索它。这样你只是混淆了你的浏览器......所以只有它发生......:D

你应该使用...

<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>

而不是

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-16
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多