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