java - JSF JavaScript 问题 - "jsf"未定义

标签 java javascript internet-explorer jsf

我的网络应用程序可以很好地工作: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”在 jsf.js 中可用。为什么 IE 会返回此错误?

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

我错过了什么吗?为什么它可以在除 IE 之外的所有浏览器上运行? 不幸的是我在谷歌上没有找到任何提示。

问候 约翰尼

最佳答案

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

如果是这种情况,您可以预先声明变量(在页面顶部的脚本 block 中放置“var varName;”)或仅重命名元素的 id。

更多信息请参见下面的链接: http://www.west-wind.com/weblog/posts/2009/Mar/22/Internet-Explorer-Global-Variable-Blow-ups

关于java - JSF JavaScript 问题 - "jsf"未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4878050/

相关文章:

java - 如何循环此语句,将 3 个更改值设置为 40 个文本字段的 setText?

javascript - 带有链接焦点/鼠标悬停工具提示的 D3 倍数 : Crosshair focus line not fitting to x-axis

javascript - 保持提交按钮禁用,直到填充动态创建的必填字段

Javascript 提升自执行功能

javascript - 具有分隔列的 JSON 到 CSV

java - Checkstyle 和 Eclipse; Java 字符串延续

java - JPA注释DiscriminatorColumn - 如何设置索引

javascript - Struts 1 提交仅适用于 IE

java - intellij 中的 URL myweb_war_exploded 出现问题

javascript - 如何在更改时在 IE 中获取文件输入