我正处于一个新的jsf + primefaces项目的起始阶段。我必须在我们的jsf模板中包含一些公司范围的css和javascript文件。公司范围内的css / js由cms提供,我们无法更改它们。
我用这种方式管理了这个:
<?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<f:facet name="middle">
<h:outputStylesheet library="css" name="own.css" />
<h:outputScript library="js" name="own.js" />
</f:facet>
<f:facet name="last">
<h:outputStylesheet library="css" name="company-wide.css" />
</f:facet>
</h:head>
<h:body>
//some code
<h:outputScript library="js/wcms" name="company-wide.js" />
</h:body>
</html>
公司范围内的.js也有jquery(当然是另一个版本)。
当页面完全加载时,一切正常(在IE 8/9,chrome和firefox中)。然后我通过“页面转发”跳转到另一个页面(没有重定向),IE抛出一个javascript异常“错误代码:80020101”。错误的来源是(我假设),一个jquery版本的错配。
当我在页面跳转中进行重定向时,它可以正常工作。
我的解释是,重定向会加载整个页面(当然),因此它会在第一次加载页面时起作用。
但是,“向前翻页”会发生什么,为什么我还有js冲突?