JSF JavaScript проблема - "JSF" не определена - PullRequest
3 голосов
/ 02 февраля 2011

мое веб-приложение прекрасно работает с: 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? К сожалению, я не нашел никаких подсказок в Google.

С уважением Джонни

Ответы [ 2 ]

0 голосов
/ 11 апреля 2012

Поместите объявление 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">
0 голосов
/ 02 июня 2011

у вас есть элемент DOM с идентификатором, установленным на "jsf"? В IE возникает странная ошибка, которая возникает, когда мы пытаемся использовать глобальные переменные, имя которых совпадает с именем элемента.

в этом случае вы можете предварительно объявить переменную (поместите «var varName;» в блок скрипта в верхней части страницы) или просто переименовать идентификатор элемента.

Подробнее об этом в ссылке ниже: http://www.west -wind.com / блог / сообщения / 2009 / Март / 22 / Интернет-Эксплорер-Global-Variable-Раздутие

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...