Вопрос

Я использую DWR в своем проекте уже пару месяцев.я пытался использовать dwr util.js в одном из моих jsp, но, как ни странно, когда я включаю util.js (версия 2.0.1) ни один другой javascript не работает в Internet Explorer (отлично работает в mozilla).

я пытаюсь манипулировать таблицами с помощью util.js как описано здесь и что еще более удивительно, я даже не вижу, чтобы ссылка хорошо функционировала в Internet Explorer.

кто-нибудь сталкивался с этим?какая-нибудь помощь?

Спасибо!

Это было полезно?

Решение

Случайно, вы также не используете jQuery, Prototype или другой язык JavaScript, который использует функцию $?

2.x версии псевдонима DWR dwr.util.byId как "$" (который устарел, поскольку он не такой мощный / полезный, как $ в jQuery, прототипе или подобном).

Они пытались быть умными и использовать Псевдоним только в том случае, если $ не был предопределен заранее, но логика проверки ошибочна.

Я предполагаю, что сначала они сделали это:

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.Нет конфликта

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top