Moves the JsNoCache to a real readable file instead of an embedded string (now an embedded file resource), updates it's logic to not append the hash to any dependencyhandler.axd request, fixes case sensitivity checking on the URLs, changes the cdf + umb version to be a nice shorter hash of the two.
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using ClientDependency.Core;
|
||||
using ClientDependency.Core.Config;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Manifest;
|
||||
using System.Linq;
|
||||
@@ -42,8 +46,6 @@ namespace Umbraco.Web.UI.JavaScript
|
||||
{
|
||||
var result = GetJavascriptInitializationArray(httpContext, umbracoInit, additionalJsFiles);
|
||||
var noCache = Resources.JsNoCache;
|
||||
|
||||
|
||||
|
||||
//if debugging, add timestamp, if in production we tell yepNope to append umb+cdf version
|
||||
//this is needed even tho cdf does this on its serverside merged js
|
||||
@@ -52,7 +54,12 @@ namespace Umbraco.Web.UI.JavaScript
|
||||
noCache = noCache.Replace("##rnd##", "(new Date).getTime()");
|
||||
else
|
||||
{
|
||||
var version = "'" + Umbraco.Core.Configuration.UmbracoVersion.Current.ToString() + "." + ClientDependency.Core.Config.ClientDependencySettings.Instance.Version + "'";
|
||||
//create a unique hash code of the current umb version and the current cdf version
|
||||
var versionHash = new HashCodeCombiner();
|
||||
versionHash.AddCaseInsensitiveString(UmbracoVersion.Current.ToString());
|
||||
versionHash.AddCaseInsensitiveString(ClientDependencySettings.Instance.Version.ToString(CultureInfo.InvariantCulture));
|
||||
|
||||
var version = "'" + versionHash.GetCombinedHashCode() + "'";
|
||||
noCache = noCache.Replace("##rnd##", version);
|
||||
}
|
||||
|
||||
|
||||
16
src/Umbraco.Web/UI/JavaScript/JsNoCache.js
Normal file
16
src/Umbraco.Web/UI/JavaScript/JsNoCache.js
Normal file
@@ -0,0 +1,16 @@
|
||||
yepnope.addFilter(function (resourceObj) {
|
||||
var url = resourceObj.url.toLowerCase();
|
||||
var rnd = ##rnd##;
|
||||
var op = "?";
|
||||
debugger;
|
||||
if(url.indexOf("lib/") === 0 || url.indexOf("js/umbraco.") === 0 || url.indexOf("dependencyhandler.axd") > 0) {
|
||||
|
||||
return resourceObj;
|
||||
}
|
||||
if(url.indexOf("?") > 0){
|
||||
op = "&";
|
||||
}
|
||||
|
||||
resourceObj.url = resourceObj.url + op + "umb__rnd=" + rnd;
|
||||
return resourceObj;
|
||||
});
|
||||
@@ -1,7 +1,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18444
|
||||
// Runtime Version:4.0.30319.34011
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
@@ -95,7 +95,7 @@ namespace Umbraco.Web.UI.JavaScript {
|
||||
/// return resourceObj;
|
||||
/// }
|
||||
/// if(url.indexOf("?") > 0){
|
||||
/// _op = "&";
|
||||
/// _op = "&";
|
||||
/// }
|
||||
///
|
||||
/// resourceObj.url = resourceObj.url + _op + "umb__rnd=" + rnd;
|
||||
|
||||
@@ -121,21 +121,8 @@
|
||||
<data name="JsInitialize" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>jsinitialize.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
<data name="JsNoCache" xml:space="preserve">
|
||||
<value>yepnope.addFilter(function (resourceObj) {
|
||||
var url = resourceObj.url;
|
||||
var rnd = ##rnd##;
|
||||
var _op = "?";
|
||||
if(url.indexOf("lib/") === 0 || url.indexOf("js/umbraco.") === 0){
|
||||
return resourceObj;
|
||||
}
|
||||
if(url.indexOf("?") > 0){
|
||||
_op = "&";
|
||||
}
|
||||
|
||||
resourceObj.url = resourceObj.url + _op + "umb__rnd=" + rnd;
|
||||
return resourceObj;
|
||||
});</value>
|
||||
<data name="JsNoCache" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>jsnocache.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="Main" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Main.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
|
||||
Reference in New Issue
Block a user