[英]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.