为什么Firefox在我的nodejs服务器服务时不加载来自html的javascript refed?

时间:2014-02-16 20:20:48

标签: javascript html node.js google-chrome firefox

我有一个在WebLogic中生产的小型webapp。我一直在开发一个前端页面,在头部加载一些css,在身体末端加载javascript。这在Firefox和Chrome中运行良好(我在IE中有一些javascript问题,但这与此问题无关)当文件从WebLogic提供时。

我也从本地nodejs服务器提供文件,只是作为开发工具,因此我不必构建整个应用程序来测试前端更改。

当从nodejs服务器提供文件时,它在Chrome中仍能正常运行。

但是,当从nodejs服务器提供文件时,Firefox中的行为是奇怪的。它加载HTML文件和CSS,但由于某种原因它只是拒绝加载JavaScript文件。试图加载它们没有错误,它只是没有尝试。

我运行了nodejs服务器和weblogic,并且我使用Firebug查看了页面结果。我认为请求或响应标题中必定存在一些内容,可能会给出发生这种情况的线索。

以下是对WebLogic服务器的HTML文件请求的请求和响应标头:

Request Headers
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Connection  keep-alive
Host    localhost:7001
User-Agent  Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0

Response Headers
Accept-Ranges   bytes
Content-Length  8645
Content-Type    text/html
Date    Sun, 16 Feb 2014 18:29:28 GMT
Last-Modified   Fri, 14 Feb 2014 23:46:34 GMT
X-Powered-By    Servlet/2.5 JSP/2.1

以下是对nodejs服务器的HTML文件请求的请求和响应标头:

    Request Headers
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Connection  keep-alive
Host    localhost:8000
User-Agent  Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0

Response Headers
Accept-Ranges   bytes
Cache-Control   public, max-age=0
Connection  keep-alive
Content-Length  8645
Content-Type    text/html; charset=UTF-8
Date    Sun, 16 Feb 2014 06:45:56 GMT
Etag    "8645-1392421593000"
Last-Modified   Fri, 14 Feb 2014 23:46:33 GMT
X-Powered-By    Express

关于唯一令人好奇的是来自nodejs的Content-Type中的“charset = UTF-8”。为什么会加载CSS,而不是javascript?

更新 这是index.html页面的骨架(我已经省略了大部分正文内容):

<!DOCTYPE html>
<html ng-app="DiagApp">
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>... title ...</title>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.css" rel="stylesheet"/>
<link href="/css/diag/style.css" rel="stylesheet"/>
</head>
<body >
<h1>... title ...</h1>
<tabset>
...
</tabset>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular-resource.js"></script>
<script src="/js/diag/diagapp.js"></script>
<script src="/js/diag/dataSourcesMod.js"></script>
<script src="/js/diag/queriesMod.js"></script>
<script src="/js/diag/handlersMod.js"></script>
<script src="/js/diag/workflowMappingsMod.js"></script>
<script src="/js/diag/constants.js"></script>
<script src="/js/diag/libs/ui-bootstrap-tpls-0.10.0.js"></script>
<script src="/js/diag/libs/ng-table.src.js"></script>
<script src="/js/diag/libs/jquery.formatDateTime.js"></script>
<script type="text/ng-template" id="pendingQueryDetail.htmlx">
...
</script>
<script type="text/ng-template" id="completedQueryDetail.htmlx">
...
</script>
</body>
</html>

0 个答案:

没有答案