diff --git a/core/serialization/deserializer/montage-reviver.js b/core/serialization/deserializer/montage-reviver.js index 969d05e16b..679da918ec 100644 --- a/core/serialization/deserializer/montage-reviver.js +++ b/core/serialization/deserializer/montage-reviver.js @@ -968,15 +968,23 @@ var MontageReviver = exports.MontageReviver = Montage.specialize(/** @lends Mont value: function (locationId) { var moduleId, objectName, - bracketIndex = locationId.indexOf("["); + bracketIndex = locationId.indexOf("["), + mjsonIndex, slashIndex; if (bracketIndex > 0) { moduleId = locationId.substr(0, bracketIndex); objectName = locationId.slice(bracketIndex + 1, -1); - } else { + } + else { moduleId = locationId; this._findObjectNameRegExp.test(locationId); - objectName = RegExp.$1.replace( + + objectName = RegExp.$1; + if((mjsonIndex = objectName.indexOf(".mjson")) !== -1) { + objectName = objectName.substr((slashIndex = objectName.indexOf("/")) === -1 ? 0 : slashIndex+1, mjsonIndex-(slashIndex+1)); + } + + objectName = objectName.replace( this._toCamelCaseRegExp, this._replaceToCamelCase ); diff --git a/montage.js b/montage.js index aa6d4636d8..13ead06ad4 100644 --- a/montage.js +++ b/montage.js @@ -37,7 +37,7 @@ function finallyHandler() { // remove clutter if (script.parentNode) { - script.parentNode.removeChild(script); + script.parentNode.removeChild(script); } } @@ -64,11 +64,11 @@ } } else { throw new Error("Platform not supported"); - } + } } exports.initBrowser = function initBrowser() { - + return { resolveUrl: (function makeResolveUrl() { @@ -131,7 +131,7 @@ if (!params) { params = this._params = {}; - + // Find the