Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Проблема с отображением результата на AJAX


Автор: JimL 27.6.2007, 07:13
Такая проблема. Отправляю запрос на получение фрагмента HTML-страницы при помощи AJAX. Причем, возвращенный фрагмент - это div с вертиальной полосой прокрутки. Однако, появившийся результат отображается во всю длину, без полосы прокрутки. Если я скопирую все содержимое страницы (document.write(document.body.innerHTML)) в статичный HTML-файл, то тут скроллинг есть, все в порядке. Но почему он не отображается сразу же после того, как его возвращает AJAX???

Автор: 12345c 28.6.2007, 11:26
Проверьте HTML возвращаемый на валидность - говорят, IE с аяксом к нему особо чувствителен.

Автор: dXdYdZ 9.8.2007, 13:59
А полоса прокрутки для Div-а задана inline-стилями или с помощью отдельного CSS?
Если это CSS, встроенный в web-страницу (<style></style>), то его ещё надо перенести в главную страницу, иначе в IE он может не работать.
Пример:
Код

if(navigator.appVersion.indexOf("MSIE")>0)
      {
      text.replace("`","(=5467823432531)");
      var reg1=/<\/style>/mig;
      text=text.replace(reg1,"`");
      var reg=/<style([^>]*)>([^`]+)`/mig;
      var result;
      while(result = reg.exec(text)) 
      {
      var str = result[2];
      str.replace("(=5467823432531)","`");
      document.styleSheets[0].cssText+=str;
      }
      }

Здесь text-Ваш HTML.
При этом главный документ должен содержать хотя бы один тег <style></style>

Добавлено через 3 минуты и 12 секунд
В Mozilla и Opera (по крайней мере, последних) этого делать не надо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)