首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSF JavaScript问题- "jsf“未定义

JSF JavaScript问题- "jsf“未定义
EN

Stack Overflow用户
提问于 2011-02-02 18:01:37
回答 2查看 4K关注 0票数 3

我的网络应用程序工作非常好: Opera,FF,Chrome,Safari。现在我在IE上测试了它,有一些奇怪的错误。我用IE调试了我的网站,它说:

代码语言:javascript
运行
复制
<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中).

但我确实加载了这些脚本:

代码语言:javascript
运行
复制
<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“在jsf.js中是可用的。为什么IE会返回这个错误?

这些只是用JSF标记创建的简单命令按钮/链接:

我错过什么了吗?为什么它在除IE之外的所有浏览器上都能工作?不幸的是,我没有找到任何关于谷歌的暗示。

问候约翰尼

EN

回答 2

Stack Overflow用户

发布于 2011-06-02 00:52:43

您有一个id设置为"jsf“的DOM元素吗?IE有一个奇怪的错误,当我们尝试使用全局变量时,它与元素的id具有相同的名称。

如果是这样的话,您可以预先声明变量(在页面顶部的脚本块中放置一个"var varName;“),也可以重命名元素的id。

更多关于这一点的链接如下:http://www.west-wind.com/weblog/posts/2009/Mar/22/Internet-Explorer-Global-Variable-Blow-ups

票数 0
EN

Stack Overflow用户

发布于 2012-04-10 22:17:08

将JSF声明放在js声明的顶部,也用h:head标记包围这些声明,因此我建议改为:

代码语言:javascript
运行
复制
<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">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4878050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档