我有一个在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>