Take care not to clobber any previously set window.$ value. IE, in its mysterious ways, sets $ to undefined if we have a conditional 'var $ = somefunc;' expression - even if the condition evaluates to false. Problem does not occur if expression is 'window.$ = somefunc;'. This makes OL play nicely with jQuery (among others) in IE. r=crschmidt (pullup #1391)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@9400 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2009-05-21 00:17:20 +00:00
parent 5f0d573ff5
commit 6b6ca2a125
2 changed files with 12 additions and 3 deletions

View File

@@ -32,10 +32,10 @@ OpenLayers.Util.getElement = function() {
}; };
/** /**
* Maintain $() from prototype * Maintain existing definition of $.
*/ */
if ($ == null) { if(typeof window.$ === "undefined") {
var $ = OpenLayers.Util.getElement; window.$ = OpenLayers.Util.getElement;
} }
/** /**

View File

@@ -1,10 +1,19 @@
<html> <html>
<head> <head>
<script>
var custom$ = function() {};
window.$ = custom$;
</script>
<script src="../lib/OpenLayers.js"></script> <script src="../lib/OpenLayers.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var isMozilla = (navigator.userAgent.indexOf("compatible") == -1); var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
var map; var map;
function test_$(t) {
t.plan(1);
t.ok($ === custom$, "OpenLayers doesn't clobber existing definition of $.");
}
function test_Util_getImagesLocation (t) { function test_Util_getImagesLocation (t) {
t.plan( 1 ); t.plan( 1 );
t.ok( OpenLayers.Util.getImagesLocation(), "../img/", t.ok( OpenLayers.Util.getImagesLocation(), "../img/",