Domanda

Ho una pagina web dove è possibile personalizzare il tuo personaggio del gioco. Al fine di accelerare la navigazione (gemme) che carico intero database gemme (600 voci, 247KB) in un file .js separati, in modo che possa essere memorizzato nella cache e non ho bisogno di caricare ogni volta.

non mi accorgo di un ritardo, è ancora una cattiva idea?
Dovrei ajax-get record necessari al volo, invece?

FYI: Io uso ASP.NET MVC 2.0, qui sta caricando lo script:

<script type="text/javascript" src='./Data.aspx/Gems'></script>

E qui è l'azione:

[OutputCache(Duration = 14400, VaryByParam = null)]
public ActionResult Gems() {...}

Modifica La mia preoccupazione principale non è il tempo di caricamento, ma l'utilizzo della memoria. E 'intenzione di avere un impatto notevole avendo excra 250KB di javascript caricata / analizzato da browser?

È stato utile?

Soluzione

lo trovo una buona idea. In più, se mai hai bisogno di "upgrade" del database GEMS si può solo caricare gli script con un tag di versione come

 <script type="text/javascript" src='./Data.aspx/Gems?v=1232'></script>

Dove v=123 costringerà l'utente a scaricare la nuova versione, se necessario.

Altri suggerimenti

Presumo pagina non funzionerà fino a quando lo script è a pieno carico in ogni caso, ma per rendere la sensazione pagina più veloce si dovrebbe caricare il javascript in fondo alla pagina .

Incorporare i dati come script farà sì che il browser alla pagina battuta d'arresto di carico fino a quando il file di script è stato scaricato e analizzato.

Se si recupera uno script statico o file di dati utilizzando AJAX, il browser dovrebbe memorizzare nella cache come se fosse uno script inline, quindi non c'è alcun aspetto negativo di utilizzare AJAX, e non si deve preoccuparsi di rallentare la caricamento della pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top