diff --git a/lib/OpenLayers.js b/lib/OpenLayers.js
index 91714594dd..6f83eaef1f 100644
--- a/lib/OpenLayers.js
+++ b/lib/OpenLayers.js
@@ -179,15 +179,16 @@
"OpenLayers/Control/EditingToolbar.js"
); // etc.
-
-
- var allScriptTags = "";
- var host = OpenLayers._getScriptLocation() + "lib/";
-
+ var agent = navigator.userAgent;
+ var docWrite = (agent.match("MSIE") || agent.match("Safari"));
+ if(docWrite) {
+ var allScriptTags = new Array(jsfiles.length);
+ }
+ var host = OpenLayers._getScriptLocation() + "lib/";
for (var i = 0; i < jsfiles.length; i++) {
- if (/MSIE/.test(navigator.userAgent) || /Safari/.test(navigator.userAgent)) {
- var currentScriptTag = "";
- allScriptTags += currentScriptTag;
+ if (docWrite) {
+ allScriptTags[i] = "";
} else {
var s = document.createElement("script");
s.src = host + jsfiles[i];
@@ -197,8 +198,8 @@
h.appendChild(s);
}
}
- if (allScriptTags) {
- document.write(allScriptTags);
+ if (docWrite) {
+ document.write(allScriptTags.join(""));
}
}
})();