0

我有一个资源网络应用程序,它只有静态内容,例如图像、CSS 和 JavaScript。

我在 JSF 页面中的另一个 Web 应用程序中使用这些资源,但由于某种原因,JavaScript 文件没有正确加载。到目前为止,我已经看到了两种结果,要么是 JSF 页面呈现异常(缺少大部分内容),要么页面看起来不错,但 JavaScript 不起作用。CSS 和图像没问题。

我正在加载如下资源

<head>
    <link rel="stylesheet" type="text/css" href="http://localhost:8080/resources/css/styles.css" />
    <script type="text/javascript" src="http://localhost:8080/resources/js/utils.js" />
</head>

FireBug 显示一切都已正确加载。当 JavaScript 内联在 JSF 页面中时,它们可以正常工作。

我尝试过使用 Jetty 8 和 GlassFish 3,但结果几乎相同。任何人都对有什么问题有一些指示?

4

1 回答 1

2

自闭合<script>标签在内容类型的 HTML 文档中无效,text/html并且浏览器行为未确定。您需要用另一个标签关闭它:

<script type="text/javascript" src="http://localhost:8080/resources/js/utils.js"></script>

然而,它在具有内容类型的纯 XHTML 文档中是有效的application/xhtml+xml,但 IE 又不支持它。按原样提供 XHTMLtext/html反过来被认为是有害的。

这与 Java/JSF 无关。

于 2011-11-10T20:29:17.443 回答