2016-09-19 3 views
1

Я использую следующий кодJQuery DataTable не работает в Firefox

$("body").html(tab).promise().done(function() { 

      $('table').DataTable({ 
       initComplete: function() { 
        $('.buttons-excel').click() 
       }, 
       paging: false, 
       columnDefs: [{ 
        targets: 'no-sort', 
        orderable: false 
       }], 

       dom: 'Bfrtip', 
       fixedHeader: { 
        header: true 
       }, 
       buttons: { 
        extend: 'excelHtml5', 
        customize: function(xlsx) { 
         var sheet = xlsx.xl.worksheets['sheet1.xml']; 

         $('row c[r^="C"]', sheet).attr('s', '2'); 
        }, 
        buttons: [{ 
         extend: 'excel', 
         text: '<i class="fa fa-print"></i> excel', 
         title: filename, 
         exportOptions: { 
          columns: ':not(.no-print)' 
         } 
        }], 
        dom: { 
         container: { 
          className: 'dt-buttons' 
         }, 
         button: { 
          className: 'btn btn-default' 
         } 
        } 
       } 
      }); 
}); 

Это прекрасно работает в Chrome и IE

Но в Firefox, я получаю ошибку ниже

не хорошо сформированных (неизвестных)

Некоторые сведения о Код:

страница загружается в плавающем фрейме

Там будет только одна таблица внутри этой страницы, которая использует JQuery DataTable

страница автоматически вызовет щелчок первенствует, чтобы начать загрузку

I прочитали несколько вопросов о SO, в которых говорится, что мы должны изменить тип MIME для вызовов ajax, но здесь мы не произвели никаких вызовов ajax, так как таблица будет загружена в pageload на стороне сервера код

ответ

0

Это странно

Оказывается, что Firefox не позволяет загрузку из плавающего фрейма, если его скрытые

Ранее код был

<iframe id="iframeFile" runat="server" style="display:none"></iframe> 

Затем я попытался изменить его на

<iframe id="iframeFile" runat="server" style="width:0;height:0;overflow:hidden"></iframe> 

все началось! Не странно

P.S: если кто-то может добавить информацию о том, как это работает в разделе комментариев, которые помогли бы людям, которые читают это в будущем

1

убедитесь, что вы следовали структуре HTML таблицы.

  1. Хорошо определенные начальные и конечные метки табуляции.
  2. для строки заголовка убедитесь, что вы определили структуру как этот <thead><tr><th>...</th><th>...</th>...</tr></thead>

  3. для всех записей данных строки убедитесь, что вы определили структуру как этот <tbody><tr><td>...</td><td>...</td></tr></tbody>

  4. Количество столбца в каждой строке должны быть равны.

  5. Если у вас есть колонтитул линия убедитесь, что вы определили структуру как этого <tfoot><tr><td>...</td><td>...</td></tr></tfoot>
+0

Попробованная с простой действительной структуры таблицы, не повезло –

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