Domanda

Ho notato una soluzione che potrebbe aiutarti a controllare la cache di file JavaScript .

C'è un metodo Spirito. MakebrowsercachesAfelayoutsurl . MSDN afferma questo metodo: < EM> Restituisce un nuovo URL che non verrà memorizzato nella cache dal browser quando il file associato cambia .

Sembra fantastico. Ho provato a usare questo metodo come SO:

 <script type="text/jscript" src="<%=SPUtility.MakeBrowserCacheSafeLayoutsUrl("projectName/scripts/plugins/tapes_report_definition.js", false)%>" ></script>
.

Quindi, ha funzionato. Generato? Rev= {md5hash_of_my_file.js} parte alla fine dell'URL. Ma dopo aver cambiato questo file .js, il nuovo hash MD5 non è stato generato. ? La parte del regno è rimasta la stessa cosa. Ho provato Iisreset, ridistribuire, ecc. Ma niente ha aiutato. Ho controllato questo metodo con il riflettore e ho imparato che Makebrowsercachesafelayoutll non genera l'hash md5 tutto il tempo, ma lo prende dall'oggetto spvolitilecache interno.

Pensavo di poter cancellare questa cache eliminando tutti i file all'interno di queste due cartelle:

    .
  1. % AppData% \ Microsoft \ Web Server Extensions \ Cache
  2. % userprofile% \ appdata \ local \ microsoft \ websitecache

    Cancellazione non ha help.spulity.MakebrowsercacheSafeLayoutsURL restituisce ancora lo stesso valore dopo che il file JavaScript viene modificato.

    Ho tre domande:

      .
    1. Come posso rinfrescare lo spvolitilecache dopo tutto?
    2. Come costringere la Spirity.MakeBrowsachesaFelayoutsURL nuovo? rev= senza spurgo cache?
    3. Considerando tutto sopra, ha persino senso usare la sputility.makebrowsercachesafelayoutsurl?

      Qualsiasi informazione aggiuntiva sarà molto apprezzata!

È stato utile?

Soluzione

L'ho controllato di nuovo e confermo che questo metodo è totalmente praticabile.L'URL di un file viene aggiornato dopo iisreset.Questo è esattamente quello che volevo vedere.

Altri suggerimenti

Vorrei aggiungerlo proprio come un commento, ma lo stackexchange non lo consentirà. Quindi, ecco la mia risposta: per chiunque cerchi di risolvere il problema degli elementi di script memorizzati nella cache all'interno di un file web editor di contenuto (o un jslink in un file .js), sapere che il metodo di Spirito.MakeBrowsacheSafeurl è un metodo solo del server e deve essere incorporato su una pagina ASPX. Assicurati di capire che non puoi semplicemente associare il codice in un file .js o il tuo sito web di contenuto e averlo funzioni. Non lo farà.

Detto questo, il metodo è davvero abbastanza inutile perché potrebbe anche usare il tag scriptLink. ScriptLink aggiungerà il? Rev per te. L'unico momento in cui potresti essere tentato di utilizzare questo metodo è se si esegue l'incorporamento di tag script in una pagina che non dovresti mai fare. Ciò va totale contro l'intero quadro e le migliori pratiche e probabilmente non funzionerà con MDS.

Il motivo per cui ho trovato questa pagina è stato perché ho una pagina web della forma di InfoPath su una pagina e lo sviluppatore precedente ha utilizzato un file .js separato per creare alcuni pulsanti per questo. Il file .js per i pulsanti è referenziato in una parte web editor di contenuti. Questo è probabilmente uno scenario comune ma è problematico perché il riferimento del file non ha un finale? Rev a meno che non sia aggiunto manualmente. A meno che non ci sia un metodo reale del lato client che aiuta a generare una sorta di? Rev, e non vedo come potrebbe esserci, il mio voto è che questo metodo è inutile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top