Вы случайно не используете jQuery, Prototype или другой язык JavaScript, который использует функцию $?
Версии 2.x DWR Alias dwr.util.byId
как "$
" (что устарело, поскольку не столь мощно / полезно, как $
в jQuery, Prototype или аналогичных).
Они пытались быть умными, и делали Псевдоним, только если $
не было предопределено, но логика проверки ошибочна.
Сначала я полагаю, что они сделали это:
if(!$){
//... alias it
}
но затем кто-то понял, что, если $
не определен, это выдаст ошибку, поэтому оно было зафиксировано как:
var $;
if(!$){
//... alias it
}
, который отлично работает в Firefox, поскольку он не объявляет значение для $
, просто он существует.
Но в Internet Explorer оператор var переопределяет $
как (ничего) ... таким образом, он не существует, когда выполняется тест if () ...
Проверяя код 3.x (RC), они отказались от этого теста для более стабильного:
if(window['$'] == null){
//... alias it
}
Что отлично работает в Firefox и Internet Explorer (и AFAIK во всех других браузерах) ... просто обновите файл util.js
в вашем dwr.jar
.
Следует также отметить: порядок, в котором вы включаете библиотеки, будет определять, какая из них станет владельцем функции $
.
например. чтобы позволить jQuery, сделайте:
<script src="jQuery"...></script>
<script src="dwr/util.js"...></script>
, чтобы позволить DWR иметь его, обязательно установите флаг noConflict для jQuery
<script src="jQuery"...></script>
<script>jQuery.noConflict();</script>
<script src="dwr/util.js"...></script>
Документы: jQuery.noConflict