From f7e4257745ccd44b8d24555f0ef787429d6e472c Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Tue, 5 Jun 2012 00:11:03 -0700 Subject: adding the latest v0.10 montage Signed-off-by: Valerio Virgillito --- node_modules/montage/montage.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'node_modules/montage/montage.js') diff --git a/node_modules/montage/montage.js b/node_modules/montage/montage.js index a174f50b..c669f3f1 100755 --- a/node_modules/montage/montage.js +++ b/node_modules/montage/montage.js @@ -108,8 +108,8 @@ if (typeof window !== "undefined") { if ('autoPackage' in params) { montageRequire.injectPackageDescription(location, { - mappings: { - montage: "@" + dependencies: { + montage: "*" } }); } @@ -237,11 +237,18 @@ if (typeof window !== "undefined") { }; var urlModuleFactory = function (require, exports) { - var baseElement = document.createElement("base"); - baseElement.href = ""; - document.querySelector("head").appendChild(baseElement); + var baseElement = document.querySelector("base"); + var existingBaseElement = baseElement; + if (!existingBaseElement) { + baseElement = document.createElement("base"); + baseElement.href = ""; + } + var head = document.querySelector("head"); var relativeElement = document.createElement("a"); exports.resolve = function (base, relative) { + if (!existingBaseElement) { + head.appendChild(baseElement); + } base = String(base); if (!/^[\w\-]+:/.test(base)) { // isAbsolute(base) throw new Error("Can't resolve from a relative location: " + JSON.stringify(base) + " " + JSON.stringify(relative)); @@ -251,6 +258,9 @@ if (typeof window !== "undefined") { relativeElement.href = relative; var resolved = relativeElement.href; baseElement.href = restore; + if (!existingBaseElement) { + head.removeChild(baseElement); + } return resolved; }; }; -- cgit v1.2.3