固定:见下文
好的。所以这是我的应用程序。
http://libwiki.heroku.com/libraries
如果您使用 Firefox 或 Safari 查看它,它会正确显示。目标是在谷歌地图上显示澳大利亚的图书馆列表。我还将“MarkerClusterer”插件放在顶部,以便标记聚集。
但是,当我在 Chrome 中查看该站点时,没有显示标记。
所以在查看代码后,我发现 Chrome 没有正确响应。这是片段。
function get_libraries()
{
if( markerCluster != null ) {
markerCluster.clearMarkers();
}
get_boundaries();
$.post( "/get_libs", { top_lat:top, right_long:right,
bottom_lat:bottom, left_long:left },
function(data)
{
alert('hello??');
}
);
}
在 get_boundaries() 方法中,我抓取了地图的边界,并将其传递给我的 rails 操作之一,这样我只能获取给定边界内的库。
反正。警告“你好”消息在 FF 和 Safari 中正确显示,但在 Chrome 中,没有消息。
为什么会这样?我还需要做些什么来满足 Chrome 的需求吗?
我已经完成了搜索并在这里找到了类似的问题(http://stackoverflow.com/questions/4086837/markerclusterer-not-working-only-in-webkit-chrome-and-safari-fine-in-firefox) ,我应用了这个建议,但没有成功。
编辑 -
好的。我尝试了 Trott 的建议,但无济于事。我刚刚比较了 Firefox 和 Chrome 之间 Rails 控制台的输出。
在 Firefox 上,我得到如下内容
++++++++++++++++++++++++++++++++ 2011-05-23 20 开始为 127.0.0.1 获取“/libraries”: 42:30 +1000 LibrariesController#index 处理为 HTML 渲染库/_header.rhtml (0.7ms) 渲染库/_footer.rhtml (0.3ms) 布局/库中渲染库/index.html.erb (5.7ms) 完成 200 9 毫秒内确定(查看:8.2 毫秒 | ActiveRecord:0.0 毫秒)
在 2011-05-23 20:42:31 +1000 开始 POST "/get_libs" for 127.0.0.1 +1000 由 LibrariesController#get_libs 作为参数处理:{"top_lat"=>"-3.8857201725875936", "right_long"=>"159.3671875" , "bottom_lat"=>"-46.20993271642981", "left_long"=>"106.6328125"} 库负载 (1238.5ms) 选择 "libraries".* 从 "libraries" WHERE (latitude < -3.8857201725875936 AND latitude > -46.209932716429 AND(8经度> 106.6328125和经度<159.3671875)或(经度> 106.6328125和经度> 159.3671875和经度> 0 and 106.6328125> 159.3671875)或(经度++++++++++++++++++++++++++++++++
我想上面的重要一点是,在 FF 上,正在执行 jQuery“post”方法。但是,当我去 Chrome 时,我只能在下面。
++++++++++++++++++++++++++++++++ 2011-05-23 20 开始为 127.0.0.1 获取“/libraries”: 35:44 +1000 LibrariesController#index 处理为 HTML 渲染库/_header.rhtml (25.9ms) 渲染库/_footer.rhtml (0.3ms) 在布局/库中渲染库/index.html.erb (59.1ms) 完成 200 90 毫秒内确定(查看次数:89.1 毫秒 | ActiveRecord:0.0 毫秒)++++++++++++++++++++++++++++++++
为什么 Chrome 不执行我的 jQuery “post”?