我正处于一个新的 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>
company-wide.js 中也有 jquery(当然是不同的版本)。
页面完全加载后,一切正常(在 IE 8 / 9、chrome 和 firefox 中)。然后我通过“Page forward”(无重定向)跳转到另一个页面,IE 抛出一个 javascript 异常“Error Code: 80020101”。错误的根源是(我假设),一个 jquery 版本不匹配。
当我在页面跳转中进行重定向时,它工作正常。
我的解释是,重定向会加载整个页面(当然),因此它在第一次加载页面时起作用。
但是“page forward”会发生什么,为什么我会有一个js冲突?