Prototype.js мешает работе Javascript - PullRequest
1 голос
/ 16 ноября 2010

Цель: Получить JavaScript для совместной работы с Ajax.Updater (prototype.js)

Цель: Я создаю веб-сайт, отображающий список серверови обновляет состояние сервера каждые 10 секунд (без обновления страницы).Поэтому я использую Ajax.Updater для вызова функции каждые 10 секунд, чтобы обновить состояние каждого сервера.(Пожалуйста, обратитесь к моему другому сообщению)

Получить идентификатор каждого элемента UL для определенного класса

Проблема: Похоже, что Ajax.Updater мешает любому javascript, который я использую на той же странице (например, выпадающее меню больше не будет выпадать, модные всплывающие окна тоже не будут всплывать и т. Д.).Когда я комментирую скрипт Ajax.Updater, мой javascript отлично работает без каких-либо проблем.Вот мой код ajax.updater:

<script type="text/javascript">
function startUpdateTimer(item) { 
   setInterval(function () { new Ajax.Updater(item.id, 'update.php?url=' + item.id); }, 10000);
}
$$('ul.SBUpdater').each(startUpdateTimer);

</script>

Кто-нибудь знает, почему это происходит или как это исправить?Кроме того, если вы предложите сделать это по-другому, я открыт для идей!

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Кроме того, я бы предложил использовать Ajax.PeriodicalUpdater вместо Ajax.Updater.Он будет обрабатывать время для вас и может быть сделано с меньшим количеством кода.

0 голосов
/ 16 ноября 2010

Похоже, у вас уже есть библиотека Javascript (возможно, jQuery), работающая на вашем сайте.Если это правда, вы должны удалить PrototypeJS и использовать любую библиотеку, которая там уже есть, для вас как ajax Updater.Использование нескольких библиотек js - не лучшее решение.

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