固定:见下文
确定。所以这是我的应用程序。
http://libwiki.heroku.com/libraries
如果您使用Firefox或Safari查看它,它会正确显示。目标是在Google地图上显示澳大利亚的图书馆列表。我还在其上放置了“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动作,这样我就只能获得给定边界内的库。
反正。 Safari中警告“hello”消息正确显示,但在Chrome中没有消息。
为什么会这样?我还需要做些什么来迎合Chrome?
我已经完成了搜索并在此处找到了类似的问题(http://stackoverflow.com/questions/4086837/markerclusterer-not-working-only-in-webkit-chrome-and-safari-fine-in -firefox),我应用了这个建议,但没有成功。
编辑 -
确定。我试过了特罗特的建议,但无济于事。我只是在Firefox和Chrome之间比较了Rails控制台的输出。
在Firefox上,我得到类似下面的内容
++++++++++++++++++++++++++++++++ 在2011-05-23 20:42:30 +1000开始获取127.0.0.1的GET“/ libraries” 由LibrariesController处理#index为HTML 渲染库/ _header.rhtml(0.7ms) 渲染库/ _footer.rhtml(0.3ms) 在布局/库中渲染库/ index.html.erb(5.7ms) 在9ms完成200 OK(浏览次数:8.2ms | ActiveRecord:0.0ms)
在2011-05-23 20:42:31 +1000开始为127.0.0.1发布“/ get_libs” 由LibrariesController处理#get_libs as 参数:{“top_lat”=>“ - 3.8857201725875936”,“right_long”=>“159.3671875”,“bottom_lat”=>“ - 46.20993271642981”,“left_long”=>“106.6328125”} 库加载(1238.5ms)SELECT“libraries”。* FROM“libraries”WHERE(纬度< -3.8857201725875936 AND latitude> -46.20993271642981 AND((经度> 106.6328125 AND经度< 159.3671875)OR(经度> 106.6328125 AND经度> 159.3671875 AND经度> 0和106.6328125> 159.3671875)OR(经度< 106.6328125 AND经度< 159.3671875 AND经度< 0和106.6328125> 159.3671875))) ++++++++++++++++++++++++++++++++
我猜上面的重点是在FF上,正在执行jQuery“post”方法。但是,当我去Chrome时,我只能到达下方。
++++++++++++++++++++++++++++++++ 在2011-05-23 20:35:44 +1000开始获取127.0.0.1的GET“/ libraries” 由LibrariesController处理#index为HTML 渲染库/ _header.rhtml(25.9ms) 渲染库/ _footer.rhtml(0.3ms) 在布局/库中渲染库/ index.html.erb(59.1ms) 在90ms完成200 OK(浏览次数:89.1ms | ActiveRecord:0.0ms) ++++++++++++++++++++++++++++++++
为什么Chrome没有执行我的jQuery“帖子”?
答案 0 :(得分:1)
当我转到你为应用程序提供的链接时,从我在控制台中看到的内容来判断,你会被一个可以提出jQuery的Rails 3问题所困扰。请在http://www.justinball.com/2011/03/11/get-jquery-working-with-ruby-on-rails-3/了解相关信息。
根据该页面,解决方案是:
事实证明,因为我使用jQuery I 需要获取rails.js文件 jQuery的。有一个包裹它的宝石 起来:
https://github.com/rails/jquery-ujs
你也可以获得javascript 并将其转储到rails.js中: https://github.com/rails/jquery-ujs/raw/master/src/rails.js
答案 1 :(得分:0)
固定:嗯。这完全出乎意料。无论如何。我使用关键字“top”,“left”,“right”和“bottom”作为变量名称。看起来Chrome不喜欢这个。这是因为还有其他与Chrome冲突的JS文件?我试着做一些搜索,但找不到任何东西。但无论如何,到目前为止,我将变量名称更改为“top_bound”,“left_bound”等。现在它的行为与我期望的一样。
答案 2 :(得分:0)
确定。这里是。 Chrome中严格禁止使用某些Javascript保留字。
http://www.quackit.com/javascript/javascript_reserved_words.cfm