使用jquery.getScript()动态加载地图js解决AMap is not undefined
2017-12-29 13:57
661 查看
需求:在使用cordova+jquerymobile开发H5 APP的时候,希望在使用高德地图的页面的pageshow方法中,加载地图js,即地图的懒加载功能。
实现方法:
之前错误的方式:
会报AMap is notundefined的错误。
原因是什么呢?参考这篇文章
jquery .getscript() callback when script is fully loaded and executed
其实就是这个方法是去加载js,但是其不保证立刻fullyloaded。
所以应该这样使用
if (typeof(AMap) == "undefined") {
$.getScript("http://webapi.amap.com/maps?v=1.4.0&key=xxx&plugin=AMap.LineSearch").done(function (script, textstatus) {
if (textstatus == "success" && typeof (AMap) != undefined) {
//所有使用AMap的内容
execBikePointMap();
} else {
showAlert("无法加载地图,请打开网络");
}
});
}else {
execBikePointMap();
}
所以在一个js中如果要保证另一个js完整加载,那么可以参考上述的实现方式。
实现方法:
之前错误的方式:
$.getScript("http://webapi.amap.com/maps?v=1.4.0&key=xxx&plugin=AMap.LineSearch"); //使用AMap
会报AMap is notundefined的错误。
原因是什么呢?参考这篇文章
jquery .getscript() callback when script is fully loaded and executed
其实就是这个方法是去加载js,但是其不保证立刻fullyloaded。
所以应该这样使用
if (typeof(AMap) == "undefined") {
$.getScript("http://webapi.amap.com/maps?v=1.4.0&key=xxx&plugin=AMap.LineSearch").done(function (script, textstatus) {
if (textstatus == "success" && typeof (AMap) != undefined) {
//所有使用AMap的内容
execBikePointMap();
} else {
showAlert("无法加载地图,请打开网络");
}
});
}else {
execBikePointMap();
}
所以在一个js中如果要保证另一个js完整加载,那么可以参考上述的实现方式。
相关文章推荐
- 使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
- Extjs使用动态加载时提示"Ext.Loader is not enabled"的解决方法
- 使用jquery插件报错:$.browser is undefined的解决方法
- 使用jquery插件报错:TypeError:$.browser is undefined的解决方法
- 使用jQuery动态加载js脚本文件的方法
- [转][JavaScript]使用jquery插件报错:$.browser is undefined的解决方法
- Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法
- 使用jquery动态加载js,css文件 详细出处参考:http://www.jb51.net/article/35287.htm
- 使用jquery插件报错:TypeError:$.browser is undefined的解决方法
- 使用jquery插件报错:TypeError:$.browser is undefined的解决方法
- 使用jquery动态加载js,css文件
- 使用jquery动态加载js文件的方法
- 使用jquery动态加载js,css文件
- 使用jquery插件报错:TypeError:$.browser is undefined的解决方法
- JQuery条件下使用 JS方式实现百度地图加载数据库中的坐标并实现动态刷新
- 使用jquery动态加载js,css文件
- 使用.live()可以解决动态加载html,但js无效果的问题
- jquery getScript动态加载JS方法改进详解
- 关于jQuery版本的兼容性--使用jquery插件报错:$.browser is undefined的解决方法
- 使用jQuery动态加载js脚本文件的方法