2016-04-21 4 views
3

Я пытаюсь сделать таблицу рендеринга постепенно в Internet Explorer. Он работает в Firefox постепенно - однако в IE. Он отображает его в памяти, поэтому таблице требуется больше времени, чтобы заметно появиться.Прогрессивная таблица рендеринга в Internet Explorer

Я добавил фиксированный макет к столу, и настроить COLGROUP/COL -

Это то, что код выглядит следующим образом (я его построение в C# и использование начальной загрузки, а):

sb.Append("<table class='table table-condensed small table-hover table-bordered' style='table-layout: fixed;'>"); 
sb.Append(@"<colgroup span=13> 
      <col width='350'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
      <col width='*'> 
       </colgroup>"); 
+0

Не могли бы вы немного объяснить цель ваших прогрессивных таблиц, чтобы она помогла мне найти подходящее решение? Спасибо –

+0

Найти археолога :) –

ответ

3

Вы не можете делать прогрессивную рендеринг HTML с кодом C#. Весь ваш код C# будет выполнен до того, как страница будет отправлена ​​на сервер.

+0

Я говорю о прогрессивном рендеринге таблицы после того, как она начнет транслироваться в веб-браузер. Извините, если это не ясно. –

+0

Да, очень ясно. Но, увы, этого не происходит. C# не будет выполнять бит, затем поток на сервер, выполнить бит, поток больше ... № – Alexander

2

Ваш код композиции html будет выполнен на сервере, а составленный html будет отправлен вашему браузеру сразу в ответ. Прогрессивный рендеринг, который вы видите в Firefox, просто иллюзия, так как поток ответа html запускается и потоки данных в Firefox запускает рендеринг. Однако IE сначала полностью проверяет html до закрытия тега таблицы, а затем отображает его.

Чтобы сделать прогрессивный html, вы используете погружения вместо таблиц. Это более эффективный подход, и вы сможете получить реальную выгоду от бутстрапа, сделав его отзывчивым.

Если таблица является вашим единственным выбором, вы должны указать атрибут CSS таблицы-макета для достижения оптимальной производительности из Internet Explorer 5 или более поздней. Сделав следующее, вы разрешите Internet Explorer начать рендеринг таблицы до того, как она получит все данные.

  • Установить атрибут CSS таблицы-макета на фиксированную таблицу.
  • Явное определение объектов col для каждого столбца.
  • Установите атрибут WIDTH для каждого столбца.

Смотреть подробнее на https://msdn.microsoft.com/en-us/library/ms533020(VS.85).aspx#Use_Fixed-Size_Tables

+0

Это делает это в любой ситуации? Я довольно часто видел, что таблица постепенно обрабатывается в Internet Explorer. Интересно, потому что это связано с тем, что некоторые из первых столбцов скрыты, что это заставляет его произойти. –

+0

Вы правы, вы должны указать атрибут CSS-таблицы таблицы для достижения оптимальной производительности из Internet Explorer 5 или новее. Сделав следующее, вы разрешите Internet Explorer начать рендеринг таблицы до того, как она получит все данные. => Задайте атрибут CSS таблицы-макета для фиксированного в таблице. => Четко определить объекты col для каждого столбца. => Установите атрибут WIDTH для каждого столбца. См. Более подробную информацию по ссылке https://msdn.microsoft.com/en-us/library/ms533020(VS.85).aspx#Use_Fixed-Size_Tables –

0

Как IE делает HTML блок в целом будет загружена только таблица, когда IE завершении проверки в теге как указывалось Асадом Mehmood. Скорее используйте divs.

+1

Спасибо. Я надеялся, что это будет таблица, а не divs, которые могут быть сделаны постепенно. Но если это единственный вариант, то я должен дать вам щедрость. –

+0

Я верю в вашу ситуацию, и divs даст вам гибкость при использовании бутстрапа. Но удачи человеку счастливое кодирование :) – ThatAwesomeCoder

Смежные вопросы