【问题标题】:Google Map v3, MarkerClusterer & jQuery on Chrome not workingChrome 上的 Google Map v3、MarkerClusterer 和 jQuery 无法正常工作
【发布时间】:2011-05-21 13:06:41
【问题描述】:

已修复:见下文

好的。这是我的应用程序。

http://libwiki.heroku.com/libraries

如果您使用 Firefox 或 Safari 查看它,它会正确显示。目标是在谷歌地图上显示澳大利亚的图书馆列表。我还在上面放了“MarkerClusterer”插件,这样标记就聚集在一起了。

但是,当我在 Chrome 中查看该网站时,没有显示标记。

所以在查看代码后,我发现 Chrome 没有正确响应。这是sn-p。

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:42:30 +1000 开始为 127.0.0.1 获取“/库” 由 LibrariesController#index 处理为 HTML 渲染库/_header.rhtml (0.7ms) 渲染库/_footer.rhtml (0.3ms) 在布局/库中渲染库/index.html.erb (5.7ms) 在 9 毫秒内完成 200 次 OK(查看次数:8.2 毫秒 | ActiveRecord:0.0 毫秒)

在 2011-05-23 20:42:31 +1000 为 127.0.0.1 开始 POST "/get_libs" 由 LibrariesController#get_libs 处理为 参数:{"top_lat"=>"-3.8857201725875936", "right_long"=>"159.3671875", "bottom_lat"=>"-46.20993271642981", "left_long"=>"106.6328125"} 库负载(1238.5ms)选择“库”。*从“库”WHERE(纬度 -46.20993271642981 AND((经度> 106.6328125 AND经度 108756.63286经度> 108756.63286>72经度0 AND 106.6328125 > 159.3671875) 或 (经度 159.3671875))) ++++++++++++++++++++++++++++++++++++

我想上面的重要一点是,在 FF 上,正在执行 jQuery“post”方法。但是,当我去 Chrome 时,我只得到下面。

++++++++++++++++++++++++++++++++++ 2011-05-23 20:35:44 +1000 开始为 127.0.0.1 获取“/库” 由 LibrariesController#index 处理为 HTML 渲染库/_header.rhtml (25.9ms) 渲染库/_footer.rhtml (0.3ms) 在布局/库中渲染库/index.html.erb (59.1ms) 在 90 毫秒内完成 200 次 OK(查看次数:89.1 毫秒 | ActiveRecord:0.0 毫秒) ++++++++++++++++++++++++++++++++++++

为什么 Chrome 不执行我的 jQuery “post”?

【问题讨论】:

  • 出现此问题时,Chrome 控制台中是否有 JavaScript 消息?

标签: jquery google-maps markerclusterer


【解决方案1】:

当我转到您为您的应用程序提供的链接时,根据我在控制台中看到的内容来看,您正被 jQuery 提出的 Rails 3 问题所困扰。在http://www.justinball.com/2011/03/11/get-jquery-working-with-ruby-on-rails-3/ 阅读有关它的信息。

根据该页面,解决方案是:

事实证明,自从我使用 jQuery 需要获取 rails.js 文件 jQuery。有一颗宝石包裹着它 上:

https://github.com/rails/jquery-ujs

您也可以只获取 javascript 并将其转储到 rails.js: https://github.com/rails/jquery-ujs/raw/master/src/rails.js

【讨论】:

  • 嘿 Trott,你是冠军!我会提前给的。事实上,我确实查看了 Chrome 控制台以了解发生了什么,它抱怨 rails.js,所以我完全摆脱了它。但看起来我需要做的不仅仅是摆脱它。我会试试这个。谢谢!
  • @ebae,如果这是正确的答案,你应该接受它
  • 嗯。试过了。但仍然没有运气。喜欢找到更多建议。
【解决方案2】:

已修复:嗯。这完全出乎意料。反正。我使用关键字“top”、“left”、“right”和“bottom”作为变量名。看起来 Chrome 不喜欢这个。这是因为还有其他与 Chrome 冲突的 JS 文件吗?我试图进行一些搜索,但找不到任何东西。但无论如何,现在,我将变量名称更改为“top_bound”、“left_bound”等。现在它的行为符合我的预期。

【讨论】:

    【解决方案3】:

    好的。这里是。某些 Javascript 保留字在 Chrome 中是不允许的。

    http://www.quackit.com/javascript/javascript_reserved_words.cfm

    【讨论】:

      猜你喜欢
      • 2013-03-14
      • 2015-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多