簡體   English   中英

JSF JavaScript問題 - “jsf”未定義

[英]JSF JavaScript problem - “jsf” is undefined

我的webapplication非常適用於:Opera,FF,Chrome,Safari。 現在我在IE上測試它並且有一些奇怪的錯誤。 我用IE調試了我的網站,它說:

<a id="navi:searchButton" href="#" onclick="jsf.util.chain(this,event,'activateSearchDiv();return false;','mojarra.jsfcljs(document.getElementById(\'navi\'),{\'navi:searchButton\':\'navi:searchButton\'},\'\')');return false">Search</a>

>>“jsf”未定義(在jsf.util.chain中)。

但是我加載這些腳本:

<h:body>
    <f:view contentType="text/html">
        <h:outputScript library="js" name="chooseDevice.js" target="head" />
        <h:outputScript library="js" name="navigationScript.js" target="head" />
        <h:outputScript library="js" name="jquery.js" target="head" />
        <h:outputScript name="jsf.js" library="javax.faces" target="head" />
...

我認為在jsf.js中可以找到已識別的“jsf”。 為什么IE會返回此錯誤?

這些只是使用JSF標記創建的簡單命令按鈕/鏈接:

我錯過了什么嗎? 為什么它適用於IE以外的所有瀏覽器? 不幸的是,我沒有在谷歌上找到任何提示。

關心約翰尼

將JSF js聲明放在JS聲明的頂部也用h:head標簽包圍這些聲明,所以我建議改為:

<h:head>
   <h:outputScript name="jsf.js" library="javax.faces" target="head" />
   <h:outputScript library="js" name="jquery.js" target="head" />
   <h:outputScript library="js" name="chooseDevice.js" target="head" />
   <h:outputScript library="js" name="navigationScript.js" target="head" />
</h:head>
<h:body>
    <f:view contentType="text/html">

你有一個id為“jsf”的DOM元素嗎? 當我們嘗試使用與元素的id具有相同名稱的全局變量時,IE會發生一個奇怪的錯誤。

如果是這種情況,您可以預先聲明變量(在頁面頂部的腳本塊中放置“ var varName; ”)或者只重命名元素的id。

更多相關鏈接如下: http//www.west-wind.com/weblog/posts/2009/Mar/22/Internet-Explorer-Global-Variable-Blow-ups

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM