From b7abb3ce4e3f7dea228e5232a739908595577cf7 Mon Sep 17 00:00:00 2001 From: Javier Abadia Date: Sun, 15 Dec 2013 17:55:16 +0100 Subject: [PATCH] now script loading works from any subdir, regardles of the absolute url location --- edit/OfflineStore.js | 22 +++++++++++++++++----- test/jasmine/SpecRunner.html | 1 - 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/edit/OfflineStore.js b/edit/OfflineStore.js index 854f0a6..73f8983 100755 --- a/edit/OfflineStore.js +++ b/edit/OfflineStore.js @@ -16,6 +16,14 @@ * @param map * @type {*|{}} */ + +var getScriptURL = (function() { + var scripts = document.getElementsByTagName('script'); + var index = scripts.length - 1; + var myScript = scripts[index]; + return function() { return myScript.src; }; +})(); + var OfflineStore = function(/* Map */ map) { this.layers = []; //An array of all feature layers @@ -68,10 +76,9 @@ var OfflineStore = function(/* Map */ map) { EDIT_EVENT_FAILED: false, ONLINE_STATUS_EVENT: "OnlineStatusEvent", REQUIRED_LIBS : [ - "/offline/edit/Hydrate.js", - "/offline/edit/Poller.js", - "/offline/edit/OfflineUtils.js", - "/offline/vendor/offline/offline.min.js" + "Hydrate.js", + "OfflineUtils.js", + "../vendor/offline/offline.min.js" ] } @@ -696,13 +703,18 @@ console.log(localStore.toString()); */ this._loadScripts = function(/* Array */ urlArray, callback) { + var thisScriptUrl = getScriptURL(); + var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/; + var parts = parse_url.exec( thisScriptUrl ); + var baseUrl = '/' + parts[5].substring(0,parts[5].lastIndexOf("/")); + count = 0; for(var i in urlArray){ try{ var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; - script.src = urlArray[i]; + script.src = baseUrl + '/' + urlArray[i]; script.onreadystatechange = function(){ count++; console.log("Script loaded. " + this.src); diff --git a/test/jasmine/SpecRunner.html b/test/jasmine/SpecRunner.html index 50ec84c..cde733c 100755 --- a/test/jasmine/SpecRunner.html +++ b/test/jasmine/SpecRunner.html @@ -14,7 +14,6 @@ -