Firefox 10 DOM проблемы с JQuery? - PullRequest
1 голос
/ 28 февраля 2012

Кто-нибудь еще замечал странные проблемы со структурой DOM в Firefox 10?

За последние 10 дней у меня произошел ряд сбоев с использованием ряда плагинов jQuery, в которых данные объекта не подлежат восстановлению, поскольку данные находятся не там, где должны быть.

Простите, если моя терминология здесь неверна.

Перейдите на http://www.phiairmedical.com в Firefox 10 и откройте консоль Firebug. Переверните любую навигацию, и вы увидите ошибку «опции не определены» (строка 101 в jquery.cycle.min.js)

Глядя на эту строку, он пытается извлечь сохраненные данные ('cycle.opts'), но явно не находит их.

На прошлой неделе у меня была похожая проблема с использованием jScrollPane, в которой функции API, хранящиеся в объекте данных, были недоступны. Я обнаружил, что, изменив спецификации push-и извлекая, я смог получить к ней доступ.

Рекомендация с jScrollPane заключалась в том, чтобы отправить данные следующим образом:

apis.push($(this).jScrollPane().data('jsp'));

И я вызываю функцию так:

$.each(apis, function(i) { 
  this.destroy(); 
 });

Это то, что работает везде. Для размещения FF10 я должен был сделать это так:

apis.push($(this).jScrollPane().data('data.jsp'));

и измените this.destroy () на

this.jsp.destroy();

Я полагаю, что текущая проблема с сайтом, указанным выше, является той же самой проблемой, поскольку она была совершенно прекрасной, когда я запустил ее прошлым летом. Теперь ролловеры навигации не работают, потому что плагин Cycle не работает с этой проблемой данных.

Я надеюсь, что кто-то может пролить свет на то, испытали ли они это или слышали об этом, или как отправлять сообщение об ошибке в Firefox (если это так).

EDIT: Чтобы проверить это, я вошел и изменил строку 100 в jquery.cycle.min.js из:

var opts = $(cont).data('cycle.opts');

до

var opts = $(cont).data('data.cycle.opts');

И проблема устранена.

1 Ответ

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

Источником этой проблемы оказалось расширение FireQuery в Firebug. Это никак не связано с качеством кода.

При отключенном FireQuery исходный код работал без ошибок.

Дальнейшее тестирование привело меня к выводу, что я могу оставить FireQuery включенным, сняв флажок «Показывать внутренние данные jQuery», хотя этот параметр на самом деле рекомендуется разработчиком при использовании jQuery 1.7.1 для просмотра внутренних данных.

Binary FireQuery FAQ

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