drupal, плагины Jquery и IE6 / IE7 - PullRequest
       16

drupal, плагины Jquery и IE6 / IE7

0 голосов
/ 27 октября 2010

У меня есть несколько плагинов Jquery, вызываемых через мой .info-файл темы Drupal Acquia Marina.

Они отлично работают во всех популярных браузерах, за исключением IE6 и IE7, в которых они не отображаютсячтобы загрузить вообще.

Некоторые плагины являются очень простыми, как, например, следующий slidetoggle, который, как и все они, существует в виде файла .js, на который ссылается вызов скрипта .info -

   $(document).ready(function()
{
  //hide the all of the element with class msg_body
  $(".collapse-content").hide();
  //toggle the componenet with class msg_body
  $(".collapse-head").click(function()
  {
    $(this).next(".collapse-content").slideToggle(400);
  });
});

Другой вариант еще проще -

$(document).ready(function()
{
$(".principal-input").hide();
}
);

Остальные являются слегка адаптированной версией инструмента вложенных списков jstree, сортировщиком таблиц и двумя вариантами свертываемых флажков / деревьев радио.

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

Единственная ошибка, которую я получаю в IE6 или IE7, это

Line: 3 
Char: 3 
Error: Object doesn't support this property or method
Code: 0

Я пробежался по коду и не думаю, что вполне вероятно, что все плагины страдают от последней запятойсмерти (/1972217/jquery-ui-akkordeon-uhudshaetsya-v-ie6-ili-ie7-no-rabotaet-v-ie8).

Единственным исключением является плагин TinyMCE, который все еще работает с IE6 и IE7. Учитывая плотность кода TinyMCE и мой недостаток опыта, я не смог понять, почему TinyMCE не затронутОн вызывается из файла .info таким же образом.

Вполне возможно, что это не имеет ничего общего с Drupal и является проблемой только для Jquery, но любое мнение о том, почему это может происходитьбудет признателен. Спасибо, Уильям.

Ответы [ 2 ]

1 голос
/ 28 октября 2010

После использования инструментов разработчика IE8 и работы в режиме IE7 я смог точно определить проблему.

Tablesorter выдавал ошибку, которая остановила все мои другие плагины на своих треках.

Строка24 из jquery.tablesorter.pager.js читает

top: o.offset().top + o.height() + 'px',

Удаление завершающей запятой решает проблему.Tablesorter (и, следовательно, все остальные плагины, загруженные после) теперь работают в IE6 и IE7.

0 голосов
/ 28 октября 2010

Я бы попробовал зайти в admin / settings / performance и убедиться, что Optimize Javascript Files включен. Я предполагаю, что IE ограничивает количество вызываемых вами файлов JS.

...