用Google Map API做一个定位系统的时候,在IE里JS总是加载不到,提示if (GBrowserIsCompatible()) 缺少对象,一定要自己手动刷新一次页面才可以,很怪。
在FF里面却可以正常加载找了很久原因,都找不到解决的办法,有的只是说IE遇到<script>的时候会给一个线程处理,然后主线程继续往下执行
有没有办法让它等
在FF里面却可以正常加载找了很久原因,都找不到解决的办法,有的只是说IE遇到<script>的时候会给一个线程处理,然后主线程继续往下执行
有没有办法让它等
发一些主要的
//加载Google Map
function loadGoogleJS(){
var key = getKey();
document.write('<script src="http://ditu.google.cn/maps?file=api&v=2&key='+key+'&sensor=true" charset="UTF-8"></script>');
}
loadGoogleJS();function load(){
if (GBrowserIsCompatible()) {
// 引用GMAP地图
map = new GMap2(document.getElementById("map"));
mapControl1 = new GMapTypeControl();
// 初始化地图
map.addControl(mapControl1);
//map.addMapType(G_HYBRID_MAP)
map.removeMapType(G_SATELLITE_MAP);
map.addControl(new GLargeMapControl());
map.addControl(new GOverviewMapControl());
//创建右键菜单
createContextMenu(map); // getdata(1);
// cars();
}
} window.onload = function(){
setMainHight();
load();
}<div id="center">
<div id="map"></div>
</div>
function loadGoogleJS(){
var key = getKey();
document.write('<script src="http://ditu.google.cn/maps?file=api&v=2&key='+key+'&sensor=true" charset="UTF-8"></script>');
return 1;
}function load(){
if(loadGoogleJS() == '1'){
if (GBrowserIsCompatible()) {
// 引用GMAP地图
map = new GMap2(document.getElementById("map"));
mapControl1 = new GMapTypeControl();
// 初始化地图
map.addControl(mapControl1);
//map.addMapType(G_HYBRID_MAP)
map.removeMapType(G_SATELLITE_MAP);
map.addControl(new GLargeMapControl());
map.addControl(new GOverviewMapControl());
//创建右键菜单
createContextMenu(map); // getdata(1);
// cars();
}
}
}
IE 就一bug王啊。
靠,要不是有微软顶着,谁还用IE啊
打开这个没问题啊
我想知道,
document.write('<script src="http://ditu.google.cn/maps?file=api&v=2&key='+key+'&sensor=true" charset="UTF-8"></script>');
加载js与直接
<script src="http://ditu.google.cn/maps?file=api&v=2&key='+key+'&sensor=true" charset="UTF-8"></script>
有区别么??
为什么刷新后才会有效,难道刷新的时候没有重复请求,也就是第一次没加载好,执行了方法,然后在某个时候加载好了,然后你刷新,它没有重新加载那个JS,所以这个时候才顺利执行方法成功了么??
比如引用这个类PopupMarker的JS文件,下面是定义实现
/**
* @private
*/
PopupMarker.prototype = new GMarker(new GLatLng(0, 0));这样IE会跳过加载Google的JS解析到它,然后说GMarker找不到对象
<script type="text/javascript" src="key.js"> //加载JS
alert(getKey()); //执行JS文件里的方法如果这个key.js文件比较大的话 IE会提示找不到方法, FF或者其它浏览器是显示正常
<script type="text/javascript" src="key.js"> //加载JS
alert(getKey()); //执行JS文件里的方法如果这个key.js文件比较大的话 IE会提示找不到方法, FF或者其它浏览器是显示正常
我重做了部分JS代码,使用了return
不过最大的原因还是在于服务器,可能那一段时间服务器运行不正常对这个也有点影响