Made _getScriptLocation smarter, and added it to SingleFile.js also. This means that single file builds no longer need to contain OpenLayers.js. r=eleomine (closes #2873)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10822 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -14,28 +14,21 @@
|
||||
* Before creating the OpenLayers namespace, check to see if
|
||||
* OpenLayers.singleFile is true. This occurs if the
|
||||
* OpenLayers/SingleFile.js script is included before this one - as is the
|
||||
* case with single file builds.
|
||||
* case with old single file build profiles that included both
|
||||
* OpenLayers.js and OpenLayers/SingleFile.js.
|
||||
*/
|
||||
var singleFile = (typeof OpenLayers == "object" && OpenLayers.singleFile);
|
||||
|
||||
/**
|
||||
* Cache for the script location returned from
|
||||
* OpenLayers._getScriptLocation
|
||||
* Relative path of this script.
|
||||
*/
|
||||
var scriptLocation;
|
||||
var scriptName = (!singleFile) ? "lib/OpenLayers.js" : "OpenLayers.js";
|
||||
|
||||
/**
|
||||
* Namespace: OpenLayers
|
||||
* The OpenLayers object provides a namespace for all things OpenLayers
|
||||
*/
|
||||
window.OpenLayers = {
|
||||
|
||||
/**
|
||||
* Property: _scriptName
|
||||
* {String} Relative path of this script.
|
||||
*/
|
||||
_scriptName: (!singleFile) ? "lib/OpenLayers.js" : "OpenLayers.js",
|
||||
|
||||
/**
|
||||
* Function: _getScriptLocation
|
||||
* Return the path to this script.
|
||||
@@ -43,26 +36,12 @@
|
||||
* Returns:
|
||||
* {String} Path to this script
|
||||
*/
|
||||
_getScriptLocation: function () {
|
||||
if (scriptLocation != undefined) {
|
||||
return scriptLocation;
|
||||
}
|
||||
scriptLocation = "";
|
||||
var isOL = new RegExp("(^|(.*?\\/))(" + OpenLayers._scriptName + ")(\\?|$)");
|
||||
|
||||
var scripts = document.getElementsByTagName('script');
|
||||
for (var i=0, len=scripts.length; i<len; i++) {
|
||||
var src = scripts[i].getAttribute('src');
|
||||
if (src) {
|
||||
var match = src.match(isOL);
|
||||
if(match) {
|
||||
scriptLocation = match[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return scriptLocation;
|
||||
}
|
||||
_getScriptLocation: (function() {
|
||||
var r = new RegExp("(^|(.*?\\/))(" + scriptName + ")(\\?|$)");
|
||||
var s = document.getElementsByTagName('script');
|
||||
var l = s[s.length-1].getAttribute("src").match(r)[1];
|
||||
return (function() { return l; });
|
||||
})()
|
||||
};
|
||||
/**
|
||||
* OpenLayers.singleFile is a flag indicating this file is being included
|
||||
|
||||
@@ -4,7 +4,12 @@
|
||||
* full text of the license. */
|
||||
|
||||
var OpenLayers = {
|
||||
singleFile: true
|
||||
singleFile: true,
|
||||
_getScriptLocation: (function() {
|
||||
var s = document.getElementsByTagName('script');
|
||||
var l = s[s.length-1].getAttribute("src").match(/(^|(.*?\/))(OpenLayers\.js)(\?|$)/)[1];
|
||||
return (function() { return l; });
|
||||
})()
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user