private static string GetScriptPath(JavaScriptLibrary js, Page page) { if (Host.CdnEnabled) { // load custom CDN path setting var customCdn = HostController.Instance.GetString("CustomCDN_" + js.LibraryName); if (!string.IsNullOrEmpty(customCdn)) { return(customCdn); } // cdn enabled but jsl does not have one defined if (!string.IsNullOrEmpty(js.CDNPath)) { var cdnPath = js.CDNPath; if (cdnPath.StartsWith("//")) { cdnPath = $"{(UrlUtils.IsSecureConnectionOrSslOffload(page.Request) ? "https" : "http")}:{cdnPath}"; } return(cdnPath); } } return("~/Resources/libraries/" + js.LibraryName + "/" + Globals.FormatVersion(js.Version, "00", 3, "_") + "/" + js.FileName); }
private static string GetScriptPath(JavaScriptLibrary js) { if (Host.CdnEnabled) { //load custom CDN path setting var customCdn = HostController.Instance.GetString("CustomCDN_" + js.LibraryName); if (!string.IsNullOrEmpty(customCdn)) { return(customCdn); } //cdn enabled but jsl does not have one defined if (!String.IsNullOrEmpty(js.CDNPath)) { return(js.CDNPath); } } return("~/Resources/libraries/" + js.LibraryName + "/" + Globals.FormatVersion(js.Version, "00", 3, "_") + "/" + js.FileName); }
private static void RegisterScript(Page page, JavaScriptLibrary jsl) { if (string.IsNullOrEmpty(jsl.FileName)) { return; } ClientResourceManager.RegisterScript(page, GetScriptPath(jsl, page), GetFileOrder(jsl), GetScriptLocation(jsl), jsl.LibraryName, jsl.Version.ToString(3)); // workaround to support IE specific script until we move to IE version that no longer requires this if (jsl.LibraryName == CommonJs.jQueryFileUpload) { ClientResourceManager.RegisterScript( page, "~/Resources/Shared/Scripts/jquery/jquery.iframe-transport.js"); } if (Host.CdnEnabled && !string.IsNullOrEmpty(jsl.ObjectName)) { string pagePortion; switch (jsl.PreferredScriptLocation) { case ScriptLocation.PageHead: pagePortion = "ClientDependencyHeadJs"; break; case ScriptLocation.BodyBottom: pagePortion = "ClientResourcesFormBottom"; break; case ScriptLocation.BodyTop: pagePortion = "BodySCRIPTS"; break; default: pagePortion = "BodySCRIPTS"; break; } Control scriptloader = page.FindControl(pagePortion); var fallback = new DnnJsIncludeFallback(jsl.ObjectName, VirtualPathUtility.ToAbsolute("~/Resources/libraries/" + jsl.LibraryName + "/" + Globals.FormatVersion(jsl.Version, "00", 3, "_") + "/" + jsl.FileName)); if (scriptloader != null) { // add the fallback control after script loader. var index = scriptloader.Parent.Controls.IndexOf(scriptloader); scriptloader.Parent.Controls.AddAt(index + 1, fallback); } } }