为什么我的JavaScript文件不能加载?

9
我正在尝试将一个JS文件加载到我的网站中,我已经将文件放在与一个已经成功加载的文件完全相同的文件夹中,但是Firebug没有显示它已经被加载,且它的效果也不可见。
这是为什么?
以下是加载脚本的代码:
<script src="<?php bloginfo('template_url'); ?>/page-customs/js/QES_form_edits.js" type="text/javascript"></script>
<script src="<?php bloginfo('template_url'); ?>/page-customs/js/datepicker.js" type="text/javascript" charset="utf-8"></script>

第一个没有被加载,第二个已经加载。
以下是脚本本身:
jQuery(document).ready(function($) {

$("fieldset#keyword p.instruction").html("Search for a name or description of an activity, venue (e.g. Link Center) 
    or other keywords (e .g. coach)");


});

Jquery正常加载。

你是如何尝试加载它的? - El Guapo
HTML输出看起来正确吗?URL是否有前导斜杠? - Austin Taylor
6个回答

6

如果javascript文件因为无效而无法运行,Firebug不会显示该文件已加载。必须修复JS才能解决问题。


2
这正是我的问题所在,当我重复使用一些代码时,我忘记了其中一个:});,结果文件无法加载。该文件中的其他所有内容都被忽略了。谢谢。 - Joel

2
请确保文件实际存在。如果您在浏览器中“查看源代码”,可以突出显示然后右键单击并复制脚本的URL。回到浏览器,打开一个新标签页,右键单击->粘贴URL到地址栏中,按Enter键。脚本是否加载到浏览器窗口中?如果没有,请检查大小写和拼写。
您的脚本标记看起来正确,因此请检查您的基本假设。
编辑
好的,既然文件存在,让我们确定为什么它没有加载。您提到有Firebug,请打开它并切换到“Net”面板。您应该看到有关所讨论脚本的GET请求以及其状态。状态是否为200?单击该行并检查标题以及扩展行内的响应选项卡。您在那里看到了什么?
您能提供发生这种情况的示例URL吗?

1
使用该方法加载完全正常,链接出现在头部,但在Firebug的已加载Js文件列表中未显示。 - Mild Fuzz
@Mild:'bad' .js文件的权限是什么?可能是Web服务器没有读取它的权限,如果您尝试通过其URL直接访问.js文件,则会看到这一点-权限被拒绝。 - Marc B

1

你需要确保你包含了

<script type="text/javascript" src="file.js"></script>

在你的源代码中


2
这有什么用?OP明显有一个正确的脚本标签,但由于其中的php片段具有未知的src路径。“你需要削尖铅笔,这样你才能削尖铅笔”并不是特别有用的建议。 - Marc B
重点在于 </script>,因为大多数浏览器不识别快捷关闭标签 /> - AceMark

0

问题可能是文件权限或格式不正确。我会检查这两个方面。另外,在Firebug的“Net”标签中是否有任何看起来至少在尝试下载该文件的内容?


0
在我的情况下,我做了一些更改,但这些更改没有正确地呈现。因此,我建议您撤销您所做的更改(如果有的话)并尝试重新操作。

0
一个无效的HTML也可能导致JS文件无法加载。在我的情况下,我在主要的标签中的
里有这个无效的HTML:-
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <style type="text/css" style="display:none;">

这段代码后面的所有内容都没有被浏览器正确识别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接