Sytuacjapojedyncze zgłoszenie strona internetowa dotyczy
Ja prototypowania aplikacji internetowych z kilku stron, niektóre z nich z poważnymi obciążenia JavaScript. Miałem (niezbyt oryginalny) pomysł, aby raz załadować układ strony i zmienić tylko zawartość za pomocą zapytań ajaxowych. Można to zrobić i działa dobrze, ale mam pewne obawy.
Witryna sprawdza każde żądanie, które otrzyma, a jeśli jest żądaniem AJAX, zwraca tylko zawartość (jako częściowy widok MVC 4, ale to nie jest dokładnie ten punkt, można to zrobić w dowolnym miejscu). W przeciwnym razie ładuje całą stronę, układ i wszystko. Chodzi o to, aby mieć coś w rodzaju flagi stanu dla każdego pakietu javascript, który pobieram. Układ miałby plik inicjujący js, zawierający podstawową logikę wyświetlania strony, sposób uzyskiwania zawartości, itp.
Wszystkie strony zawartości powinny sprawdzić, czy zostały załadowane odpowiednie skrypty, a jeśli nie, zainicjować pobierz, aw przypadku sukcesu ustaw poprawną flagę. Pewna dodatkowa obsługa błędów jest wymagana w przypadkach, gdy wywołanie ajax nie działa z jakiegoś powodu.
Pytanie (s)
Teraz moim zmartwieniem jest, jest dość dużo JS na niektórych "podstron". Ponieważ muszę pracować nad przeglądarkami mobilnymi (chociaż większość rzeczy js-heavy jest tylko na pulpicie, ale zapomnijmy o tym przez chwilę), jak wpłynie to na wydajność, jeśli mam kilka MB-ów załadowanych skryptów pamięć i "nigdy" nie rozładowują ich (ponieważ strona nie jest ponownie ładowana). Czy skrypty będą buforowane, jeśli otrzymam je za pomocą funkcji jQuery.getScript (...)? Czy powinienem załadować skrypty w inny sposób?
To samo pytanie dotyczące treści. Jeśli usuwam elementy DOM z ciała, zastępuję je innymi elementami, a następnie ponownie ładuję oryginalną podstronę, co się stanie z wykorzystaniem pamięci i wydajnością podczas długiego okresu użytkowania?
Naprawdę chciałbym, aby ktoś z doświadczonych w tej dziedzinie dał mi pewien wgląd w moje obawy, zanim sprawię, że będę wyglądał zupełnie głupio z bezużytecznym prototypem proof-of-concept.
Z góry dziękuję!
EDIT: Zmieniono tytuł właściwy wyraz
EDIT 2: separacji jakie jest pytanie, jaki jest kontekst
że odpowiedzi (więcej jak eliminuje) połowa moje pytanie. Co powiesz na elementy DOM z usuniętymi fragmentami, szczególnie te z obsługą zdarzeń? Jaki wpływ będą miały na wydajność (nawet jeśli mam tendencję do używania jquery w (...) funkcji, aby uniknąć tego problemu, byłbym zainteresowany co się stanie) – Robert
@Robert - To zależy od tego, jakie elementy DOM chcesz dodawać/usuwać i jak często to robisz. – Venemo
@Robert Updated moja odpowiedź – Venemo