【发布时间】:2011-10-03 09:47:58
【问题描述】:
这是我的难题: 我有一个使用 Google Maps V3 和 jQuery 的页面。它在 FF5、Chrome 和 Safari 中本地运行良好。
上传到网站后,我在尝试使用 google 对象的第一行收到“未定义 google”错误
var defaultLocation = new google.maps.LatLng(lat, lng);
它只发生在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()"> - 按脚本和 css 文件顺序播放
- 将 URL http://maps.google.com/maps/api/js?sensor=false 粘贴到 FF 地址框中并验证我得到的是合法脚本
但由于这只发生在远程机器上的 FF 中并且在其他情况下运行良好,我认为这与我的代码没有任何关系。也许FF5中的加载顺序被搞砸了。也许它对网络资源的优先级与其他浏览器不同。我现在真的不知道该怎么做。
任何帮助表示赞赏。
伙计
更新:
只是想添加以下事实:在 Mac 上尝试了上一个之后,我在 Windows 中尝试了 FF5,并复制了完全相同的行为。
为了更好地衡量,我也尝试了 Pale Moon - 相同的结果。 Chrome 14、Opera 11.50 甚至 frickin' IE9(未包含在测试计划中)都可以正常工作。它只是 FF5,现在在 Mac 和 Windows 7 上,在那个页面上都失败了。
【问题讨论】:
-
@thephpdeveloper +1 @op:你有网址吗? firebug 报告了这个?
-
@the 当然,直到 Jon Skeet 或 Chuck Norris
unsetgoogle。 -
@deceze:在安全问题上错过 Bruce Schneier 是一种侮辱。 :)
-
@naveen 是的,我用 Firebug 发现了这一点(“参考错误:未定义谷歌”。我很欣赏 Chuck Norris 的笑话,就像下一个遇到无法解释的问题的人一样,但是...... :)
-
我遇到了同样的问题。如果我将谷歌脚本放入一个简单的 html 中,它可以工作,但如果我放入我的网页(aspx),它就不起作用。我得到错误:谷歌没有定义。看我的剧本。我把我的脚本放在第一行这样:
<asp:Content ContentPlaceHolderID="ScriptRegion" runat="server"> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=my_key" async defer></script>
标签: javascript firefox google-maps cross-browser