Referenziare script personalizzati da CDN tramite lo ScriptManager di ASP.NET 4.5

di , in ASP.NET 4.0,

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

Visualizza/aggiungi commenti

Referenziare script personalizzati da CDN tramite lo ScriptManager di ASP.NET 4.5 (#1110) 1010 2
| Condividi su: Twitter, Facebook, LinkedIn, Google+

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi