Nel precedente script abbiamo visto come, tramite il flag EnableCdn, possiamo far sì che il controllo ScriptManager referenzi file JavaScript quali jQuery o la libreria AJAX per Web Forms sfruttando una CDN, e gestisca anche il fallback su una versione locale di questi file nel caso il link remoto non sia funzionante.
Questa tecnica non è limitata solo agli script standard di ASP.NET Web Forms, ma è estendibile per supportare qualsiasi tipo di file, aggiungendo un opportuno [bscript resource mapping. Per esempio, supponiamo di aver bisogno della libreria FancyBox, che non è censita all'interno dello ScriptManager. Tutto ciò che dobbiamo fare è aggiungere un nuovo mapping, denominato "fancybox", con il codice seguente:
ScriptManager.ScriptResourceMapping .AddDefinition("fancybox", new ScriptResourceDefinition() { CdnPath = "http://cdn.jsdelivr.net/fancybox/2.1.3/jquery.fancybox.pack.js", LoadSuccessExpression = "jQuery.fancybox", Path = "~/Scripts/jquery.fancybox.pack.js" });
In particolare, la proprietà LoadSuccessExpression indica la variabile che verrà utilizzata, lato client, per verificare il corretto caricamento di FancyBox dall'URL specificato in CdnPath e sfruttare il Path locale nel caso in cui questo non abbia avuto successo:
<script type="text/javascript"> //<![CDATA[ (jQuery.fancybox)||document.write('<script type="text/javascript" src="Scripts/jquery.fancybox.pack.js"><\/script>');//]]> </script>
A questo punto, non dobbiamo far altro che referenziare questo script nello ScriptManager:
<asp:ScriptManager runat="server" EnableCdn="true" EnableCdnFallback="true"> <Scripts> .. <asp:ScriptReference Name="fancybox" /> </Scripts> </asp:ScriptManager>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Usare un KeyedService di default in ASP.NET Core 8
Creare un'applicazione React e configurare Tailwind CSS
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Potenziare Azure AI Search con la ricerca vettoriale
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Utilizzare i primary constructor di C# per inizializzare le proprietà
Eseguire operazioni con timeout in React
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Usare le variabili per personalizzare gli stili CSS
Eseguire operazioni sui blob con Azure Storage Actions
I più letti di oggi
- Utilizzare DPAPI: cifrare dati sensibili
- Recuperare la foto dell'utente nelle Windows Store app
- What's new in Azure Functions and Extensions
- dal tuo PC o smartphone tra poco #aspilive: https://aspit.co/VS2015-live tutto su #vs2015, #windows10, #aspnet5 e altro ancora!
- Creare link alle risorse di DocumentDB con UriFactory
- Ottenere il nome esteso del mese
- Eventi personalizzati per l'HealhMonitoring di ASP.NET 2.0
- Utilizare la libreria subsink per eliminare le sottoscrizioni agli observable in Angular
- Ritardata l'uscita di BizTalk Server 2004
- Creare file di Excel al volo