Internet explorer script5009:IE9中未定义“Primefaces”-重新加载后错误消失

Internet explorer script5009:IE9中未定义“Primefaces”-重新加载后错误消失,internet-explorer,jsf,primefaces,Internet Explorer,Jsf,Primefaces,我非常失望。我仍然在寻找一个bug的原因,这是我在更改页面的模板布局后得到的。我将PrimeFaces3.4.2与Tomcat7.0.32和JSF2.1.13库一起使用 这只虫子是干什么的 在Opera、FF和Chrome中: 所有元素都已完全加载并显示 但是,如果您选择或调用一个菜单项定义的非ajax,页面就会像预期的那样重新加载。但什么也没发生。如果您再次调用按钮,它将被调用。内容部分也发生了变化 如果您选择数据表的行或类似的内容,则页面工作非常顺利。您不需要第二次尝试更改内容部分 在IE6

我非常失望。我仍然在寻找一个bug的原因,这是我在更改页面的模板布局后得到的。我将PrimeFaces3.4.2与Tomcat7.0.32和JSF2.1.13库一起使用

这只虫子是干什么的

在Opera、FF和Chrome中:

所有元素都已完全加载并显示

但是,如果您选择或调用一个菜单项定义的非ajax,页面就会像预期的那样重新加载。但什么也没发生。如果您再次调用按钮,它将被调用。内容部分也发生了变化

如果您选择数据表的行或类似的内容,则页面工作非常顺利。您不需要第二次尝试更改内容部分

在IE6+特别是IE9中:

页面被加载,IE9在大多数情况下显示所有元素。但是没有可以调用的悬停或ajax事件。这一页好像被冻结了

如果重新加载页面,它将按预期工作。又快又滑

我对调试做了什么

我开始寻找原因。我查看了每个浏览器的控制台。非IE浏览器没有给出任何原因的提示。在大多数情况下,在这个方向上没有错误

如果你开始一个新的会话并且是第一次加载页面,IE会显示以下错误

重新加载后,错误消失

雄猫也不例外

我对我的布局所做的:

我使用JQuery ThemeRoller创建了一个自定义主题,并将其作为链接实现。 注意:如果您使用的是默认主题,那么Bug仍然存在

我决定删除左侧的一个,并将其移动到标题。 注意:我将所有更改为默认,错误仍然存在

我删除了所有元素并将其切换到简单的s 注意:但我不认为这是错误的原因

我需要添加并修复IE浏览器中z-index的一个已知问题。您可以在layout.xhtml的script部分看到它——没有它,菜单栏就位于content部分元素的背景中。 注意:我删除了它,但什么也没有发生,错误仍然存在

我删除了所有的缓存。但什么都没有。我希望有人能帮助我或发现我犯的错误

[源文件]

我的模板布局文件=layout.xhtml

@ManagedBean-@SessionScoped Bean中的导航方法:

标题:


我今天也有类似的问题。问题是指向出现问题的页面的链接

我有类似的代码:

<p:commandLink action="badPage.jsf" id="btnBadPage" 
    value="Bad Page" actionListener="#{myBean.someAction}" />
当我按如下方式更改操作URL时,我停止接收IE中的javascript错误:

<p:commandLink action="badPage.xhtml?faces-redirect=true" id="btnBadPage" 
    value="Bad Page" actionListener="#{myBean.someAction}" />

我只是将任何不起作用的有问题的组件包装在一个标记中,通常,这些类型的错误一旦发生就会消失

例如,我遇到了一个在中分页的问题,直到我将它包装到中时才起作用。在那之后,它成功了


不管怎么说,这是人们可以尝试的另一种方法。

我在p:commandButton上遇到了同样的错误,你能找到解决方案吗?啊,下面的答案为我解决了这个问题。一开始我没有尝试,因为OP不接受它作为答案。它有效:
public void doNav(){

    FacesContext context = FacesContext.getCurrentInstance();
    String selectedPageViewId =
    context.getExternalContext().getRequestParameterMap().get("pageViewID");

    if (selectedPageViewId.equalsIgnoreCase("page1"))
    {
    content = "/app/includes/hldyplanning";
    message = "Urlaub eintragen";
    ELContext elContext = FacesContext.getCurrentInstance().getELContext();
    hplC = (HldyPlanningController) FacesContext.getCurrentInstance().getApplication()
                    .getELResolver().getValue(elContext, null, "hldyPlanningController");
    hplC.init();
    }
    else if (selectedPageViewId.equalsIgnoreCase("page2"))
    {
    message = "persönliche Übersicht";
    content = "/app/includes/persview";
    } [...]        
    else { context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Seite nicht gefunden.", "Wie sind Sie hier hingekommen?")); }
}

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:p="http://primefaces.org/ui"
      xmlns:c="http://java.sun.com/jsp/jstl/core">

    <h:form id="frm_plan">
        <p:messages id="messages" autoUpdate="false" closable="true"/>
        [...]
    </h:form>
</html>
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
    <h:form id="frm_menu">
        <table class="steamlessBody" style="width:100%;">
            <tr>
                <td class="header_boxes" style="width: 200px;">
                    #{appController.message}
                </td>
                <td class="header_boxes" style="width: 650px;">
                    <p:menubar autoDisplay="true" style="font-size: 14px; border: none; background: none;">
                        <p:submenu id="sub1" icon="ui-icon-calendar" label="Urlaubsplanung">
                            <p:menuitem id="btn_page1" ajax="false" icon="ui-icon-plusthick" value="Urlaub eintragen" action="#{appController.doNav()}">
                                <f:param id="pageHLDYPLANNING" name="pageViewID" value="page1"/>
                            </p:menuitem>
                            [...]
                        </p:submenu>
                        [...]
                        <p:menuitem id="btn_logout" ajax="false" icon="ui-icon-circle-close" value="Ausloggen" action="#{appController.logout()}"/>
                    </p:menubar>
                </td>
                <td class="head_text">
                    Eingeloggt als #{loginController.sessionData.user_name}
                </td>
            </tr>
        </table>
        <p:dialog widgetVar="help" id="dlg_help" closable="true" header="Hilfe" modal="true" showEffect="clip" hideEffect="clip">

        </p:dialog>
    </h:form>
</html>
<p:commandLink action="badPage.jsf" id="btnBadPage" 
    value="Bad Page" actionListener="#{myBean.someAction}" />
<p:commandLink action="badPage.xhtml?faces-redirect=true" id="btnBadPage" 
    value="Bad Page" actionListener="#{myBean.someAction}" />