Javascript jQuery突然失败

Javascript jQuery突然失败,javascript,jquery,Javascript,Jquery,所以我今天早上登录了一个客户的网站(这是一个监控车辆使用情况的内部网)。jQuery是站点的一个不错的组成部分,但它突然失败了,出现了以下控制台错误: jquery.js:1Uncought语法错误: 意外令牌: www.mydomain.com:21Uncaught ReferenceError:未定义jQuery www.mydomain.com:50Uncaught ReferenceError:$未定义 在过去一周中,我唯一更改的是添加一个字符集并将doctype更改为: <? h

所以我今天早上登录了一个客户的网站(这是一个监控车辆使用情况的内部网)。jQuery是站点的一个不错的组成部分,但它突然失败了,出现了以下控制台错误:

jquery.js:1Uncought语法错误: 意外令牌: www.mydomain.com:21Uncaught ReferenceError:未定义jQuery www.mydomain.com:50Uncaught ReferenceError:$未定义

在过去一周中,我唯一更改的是添加一个字符集并将doctype更改为:

<? header("Content-Type: text/html; charset=UTF-8"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd"
    >

我认为这可能是问题所在,但删除header()和DOCTYPE并不能解决问题。你知道会发生什么吗

编辑1: Chrome Inspector显示未加载任何内容

编辑2:标题部分

<head>
    <title>Intranet</title>
    <link href="/intranet/style/default.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="/intranet/js/jquery.js"></script>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
    <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAb-ZNlr3CQw5Wb5StE921RxSRXiZIiheENMB8Q6Efuo3Cg-x8OhRoSG-6YA6TMItzJlsBO4hkest8jw" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

    <script type="text/javascript">
        //too much jQuery to post but it's always worked
    </script>
</head>

内部网
//jQuery太多,无法发布,但它始终有效

更改doctype可能会更改浏览器的呈现模式。如果您以前处于某种怪癖模式,那么现在可能处于更符合标准的模式(反之亦然)。完全删除doctype将导致浏览器猜测使用哪种渲染模式,或者使用它拥有的任何默认渲染模式。尝试将doctype更改回其原始值。

如果文件编码为UTF-8,则只能将其作为UTF-8提供。更改内容类型编码而不更改文件本身的编码肯定会破坏它

需要注意的是,一些编辑器保存UTF-8,这会给您带来很多麻烦。UTF-8不需要使用BOM表,所以请使用一个编辑器,您可以选择不使用BOM表进行保存

正如我在上面的评论中提到的,当从中加载库时,您应该指定要使用的库的完整版本,否则在新的维护版本中引入可能破坏现有代码的更改时,您最终会遇到麻烦。我提到这一点是出于经验;)

此外,我可以看到您的代码中有很多不一致之处。我想改为:

<? header("Content-Type: text/html; charset=UTF-8"); ?>
<!DOCTYPE html>
<head>
    <title>Intranet</title>
    <link href="/intranet/style/default.css" rel="stylesheet" type="text/css" />
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
    <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAb-ZNlr3CQw5Wb5StE921RxSRXiZIiheENMB8Q6Efuo3Cg-x8OhRoSG-6YA6TMItzJlsBO4hkest8jw"></script>

    <script type="text/javascript">
        //too much jQuery to post but it's always worked
    </script>
</head>

内部网
//jQuery太多,无法发布,但它始终有效

在PHP中更改字符编码时,还有一件事需要注意:如果使用,还需要将其更改为使用UTF-8语言环境。例如,
en_US
en_US.UTF-8
,或者你可能会得到一堆�

看看萤火虫。jQuery还在加载吗?另外,删除PHP代码和doctype声明之间的换行符。使用Chrome Inspector检查,编辑我的问题。您可以显示
标题
部分吗?在外部文件中抛出错误的代码在哪里?编辑以显示它,第一个错误发生在我一直使用的缩小的jquery文件中?从错误消息中,您的jquery文件似乎已损坏。如果在浏览器中打开它会发生什么?