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
Creare una libreria CSS universale: Immagini
Eseguire operazioni sui blob con Azure Storage Actions
Eseguire una query su SQL Azure tramite un workflow di GitHub
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Effettuare il binding di date in Blazor
Utilizzare Azure Cosmos DB con i vettori
Creare un'applicazione React e configurare Tailwind CSS
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Gestione dei nomi con le regole @layer in CSS
Cambiare la chiave di partizionamento di Azure Cosmos DB
Creare una libreria CSS universale - Rotazione degli elementi
I più letti di oggi
- Simulare Azure Cosmos DB in locale con Docker
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- .NET Conference Italia 2023 - Milano e Online
- .NET Conference Italia 2024 - Milano
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!