7

Używam jQuery i wtyczki tablesorter, ale z tabelami znaczących rozmiarów (900-1200 wierszy), wtyczka po prostu zgrzyta Internet Explorer (wypróbowany 7 i 8) do zatrzymania .jQuery + tablesorter + IE7 + duże tabele = piekło

Tak, chcę podzielić na strony (nie mogę); tak, chciałbym powiedzieć wszystkim, żeby używali Chrome (nie może), ale zastanawiam się, czy ktoś ma jakieś inne rozwiązania. Być może szybsza wtyczka do sortowania tabel lub coś, co mogę wypróbować. Naprawdę nie chcę robić sortowania po stronie serwera.

Dzięki!

+10

Witaj w cudownym świecie bolesnego silnika JS IE! –

+0

Co dzieje się w IE7? Czy został zgłoszony błąd? Czy przeglądarka się zawiesza? Czy może to zająć dużo czasu? Jeśli tak, to jak długo? –

+0

Po prostu grinduje przez około 60 sekund. Oczywiście zależy to od procesora użytkownika. W Chrome jest błyskawica. Sądzę, że pan Pitts to ma; Po prostu myślałem, że zobaczę, czy są tam jakieś inne myśli. – Wells

Odpowiedz

1

Miałem dokładnie ten sam problem z dokładnie tymi samymi narzędziami. Najlepsze, co możesz zrobić, to uczynić swój HTML tak czystym, jak to tylko możliwe. I zawsze pamiętaj, aby dodać element tfoot PRZED elementem tbody. Pomoże to IE renderować tabelę szybciej:

<table> 
    <thead> 
     <tr> 
      <th>headers here</th> 
     </tr> 
    </thead> 
    <tfoot> 
     <tr> 
      <td>footers here</td> 
     </tr> 
    </tfoot> 
    <tbody> 
     <tr> 
      <td>body here</td> 
     </tr> 
    </tbody> 
</table> 

Nawet jeśli nie potrzebujesz stopki, zrób to w ten sposób. Jedyną inną radą, jaką mam, byłoby wypróbowanie niektórych sztuczek CSS, aby albo stylować, albo ukryć tabelę, dopóki javascript się nie załaduje. Może zacznij od animowanego gifu ładującego i usuń go po zakończeniu javascriptu.

3

Co z paginacją po stronie klienta? Prawdopodobnie prędkość pochodzi z manipulacji DOM, a nie z algorytmu sortowania. Przechowuj dane w tablicy javascript, wyświetlaj tylko pierwszych 20 pozycji i sortuj w tablicy, a nie w elementach.

-1

IE 8 i Firefox nie obsługują dużych zrzutów tabel. Zdecydowanie skrzeczą na około 1000 linii. Widziałem to z moją aplikacją.

Chrome jest dosłownie superszybki i pobiera 1000 wierszy z tabeli HTML Output 100 razy szybciej.

Jest jeden problem z Chrome. Po około 4000 linii nie działają klasy w tabelach komórek. Zawiesie myszy, które jest połączone z akcją, po prostu znika i nie pojawia się, gdy mysz znajduje się nad komórką tabeli.

Chociaż pobieranie 100-krotnego zbioru trwa 100 razy, łącza klasy nie łamią się w IE8 lub Firefox. Ale kto może sobie pozwolić na tak długo czekać.

Myślę, że otworzyłem błąd w Chrome i nigdy nie otrzymałem odpowiedzi.

Ponieważ moja strona internetowa działa w zamkniętym środowisku, łatwo jest zmusić wszystkich do korzystania z Chrome.

W tym miejscu problemem staje się OPEN-SOURCE. Nie ma nikogo, kto mógłby wezwać pomoc!

+4

Myślę, że prostą odpowiedzią jest tutaj używanie stronicowania po stronie klienta lub po stronie serwera, bez urazy, ale jest absurdem oczekiwanie, że użytkownik przeczyta 5000 wierszy. rozpada się i nie dziwię się, że Ch twórcy rome uznaliby to za błąd o niskim priorytecie. – brianpeiris

Powiązane problemy