Tra*_*Guy 53 javascript firefox google-maps cross-browser
这是我的难题:我有一个使用Google Maps V3和jQuery的页面.这一切都在FF5,Chrome和Safari本地运行良好.
一旦我上传到网站,我在第一行尝试使用谷歌对象时出现"谷歌未定义"错误
var defaultLocation = new google.maps.LatLng(lat, lng);
Run Code Online (Sandbox Code Playgroud)
它只发生在FF中,并且只发生在远程(即,如果我在本地将文件加载到FF中,它运行良好).Chrome和Safari似乎都很好用,就像我的Android和iPod浏览器一样.
这是我到目前为止所尝试的:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>该<head>部分的顶部.$(function() {...});到被调用initialize()和添加的函数<body onload="initialize()">但由于这只发生在远程机器上的FF中并且运行良好,否则我认为它与我的代码没有任何关系.也许FF5中的加载顺序是拧紧的.也许它比其他浏览器更优先考虑网络资源.此时我真的不知道该怎么做.
任何帮助表示赞赏.
家伙
更新:
只是想添加以下事实:在Mac上尝试上一个之后,我在Windows中尝试了FF5,并且复制了完全相同的行为.
为了更好的衡量,我也尝试了Pale Moon - 结果相同.Chrome 14,Opera 11.50甚至frickin'IE9(未包含在测试计划中)都有效.它只是FF5,现在在Mac和Windows 7上,在该页面上失败.
小智 26
我好几次面对"谷歌没有定义".可能谷歌脚本有一些问题,不能很好地加载FF-addon BTW.FF具有重启选项(如窗口重启)帮助>重启,禁用加载项
Die*_*ino 21
使用Gmap3时,我遇到了同样的错误"google未定义".问题是我在包含'google'之前加入'gmap3',所以我颠倒了顺序:
<script src="https://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script src="/assets/gmap3.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
Yan*_*bot 18
另一个帮助我的建议:
这是我发生的事情=>我的脚本在3次加载页面时工作一次,错误是"谷歌未定义".
我使用谷歌地图的功能是在我的jQuery文档的就绪功能中
$(function(){
//Here was my logic
})
Run Code Online (Sandbox Code Playgroud)
我只是添加了这段代码以确保它有效:
$(function(){
$(window).load(function(){
//Here is my logic now
});
});
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力.如果你想了解有关文档就绪和窗口加载之间差异的更多细节,这里有一篇很棒的帖子: window.onload vs $(document).ready()
就绪事件发生在加载HTML文档之后,而onload事件发生在稍后,此时所有内容(例如图像)也已加载.
onload事件是DOM中的标准事件,而ready事件特定于jQuery.ready事件的目的是它应该在文档加载后尽早发生,以便为页面中的元素添加功能的代码不必等待加载所有内容.
Hri*_*ari 14
试试这个:
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
Run Code Online (Sandbox Code Playgroud)
而不是这个
var defaultLocation = new google.maps.LatLng(lat, lng);
Run Code Online (Sandbox Code Playgroud)
用这个
var defaultLocation = new window.google.maps.LatLng(lat, lng);
Run Code Online (Sandbox Code Playgroud)
这对我有用。
试试这个:
<script src="https://maps.googleapis.com/maps/api/js"></script>
Run Code Online (Sandbox Code Playgroud)
它对我有用......重点是,将HTTP更改为HTTPS
小智 6
添加脚本的类型
<script src="https://maps.googleapis.com/maps/api/js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
因此,重要的部分是文本/ javascript类型。
| 归档时间: |
|
| 查看次数: |
200968 次 |
| 最近记录: |