【问题标题】:What can cause a browser not to execute a script?什么会导致浏览器不执行脚本?
【发布时间】:2012-04-23 14:34:51
【问题描述】:

由于某种原因,我的浏览器(Firefox 和 Chromium)不会执行此页面上的脚本:savageworkouts.com。然而,控制台中没有报告任何错误。知道为什么吗?

编辑:下面的一些不错的答案指出,由于具有src="" 属性,某些脚本没有触发。

编辑:我发现脚本正在执行,但是当它到达页面底部的modernizr.foundation.js 时它会窒息。知道为什么 modernizr.foundation.js 无法执行,但在 Inspector 的控制台中没有报告错误?

编辑:已解决:我缺少页面上 div 的结束标记 (#contentContainer)。有趣的是,缺少结束标记导致 Chromium 和 Firefox 都无法继续执行modernizr.foundation.js。

【问题讨论】:

  • 脚本加载了吗?网址正确吗?您使用的是页面的最新(非缓存)版本吗? JS 开启了吗?

标签: javascript html firefox google-chrome browser


【解决方案1】:
<script src="">
            alert('whyTheF Won\' this fire?');
</script>

因为脚本有一个src。它尝试将 HTML 文档作为脚本加载,失败,然后不执行内联脚本,因为它支持外部脚本并且元素“具有”外部脚本。

【讨论】:

  • 嗯,有趣的观察。我删除了 src="" 属性,并且 alert() 触发了,但页面上没有其他脚本触发!
  • @trusktr — 他们也有 src="" 你也必须删除它们。
【解决方案2】:
<script src="">
            alert('whyTheF Won\' this fire?');
</script>

.....
<script src="">
                var isIE = false,
                    isChrome = false;
                                    isChrome = true;
                            </script>

为什么 F 不会触发?我会告诉你为什么。您已添加 src 属性。现在浏览器正在尝试从引用当前页面的 undefined URL 加载不存在的脚本。 &lt;script src="url.js"&gt;doStuff()&lt;/script&gt; 将始终加载 url.js 并执行它,但不会执行 doStuff()

【讨论】:

  • 嗯,很有趣。我不知道。事实上,在最近的更新之前,这些脚本甚至可以使用 src=""。但是,是的,我删除了它们,它们触发了……但奇怪的是,其他脚本似乎都没有触发(具有有效 src 属性的脚本)。或者,好吧,至少浏览器没有吐出任何错误,这是奇怪的部分。
  • URI 不是未定义的。它是一个相对 URI,可解析为正在查看的 HTML 文档的 URI。
  • @trusktr:如果你说的是less.js,它正在触发。
  • 哦,是的,它是......嗯......嗯,脚本并没有一直执行,尽管 Inspector 控制台中没有显示任何错误......嗯...
  • @trusktr:是的,糟糕的 HTML/XML 就是这样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多