Google Map V3, Markerclesterer & jQuery на хроме не работает
-
08-09-2020 - |
Вопрос
Исправлено: см. Ниже
ОК. ОК. Так вот мое приложение.
http://libwiki.heroku.com/libraries
Если вы просматриваете его с Firefox или Safari, он отображается правильно. Цель состоит в том, чтобы отобразить список библиотек в Австралии на карте Google. Я также положил плагин «Markercusterer» сверху, так что маркеры кластеризованы.
Однако, когда я просматриваю сайт в 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_boundares (), я снимаю границы карты, которые я передаю в одну из моих рельсов, так что я получаю только библиотеки в данных границах.
в любом случае. Сообщение о предупреждении «Hello» отображается правильно в FF и Safari, но в Chrome нет сообщения.
Почему это так? Есть ли что-то еще, что мне нужно сделать, чтобы удовлетворить Cater для Chrome?
Я уже сделал свой поиск и нашел похожий вопрос здесь (http://stackoverflow.com/questions/4086837/markercleuster-not-Crawing-and-in-webkit-chroome-and-safari-fine-in -firefox), и я применил предложение, но успеха не было.
Редактировать -
ОК. ОК. Я пробовал предложение Тротта, но безрезультатно. Я только что сравнил вывод консоли Rails между Firefox и Chrome.
на Firefox, я получаю что-то вроде ниже
+++++++++++++++++++++++++++++++++++ Начал получить "/ библиотеки" на 127.0.0.1 в 2011-05-23 20:42:30 +1000 Обработка по библиотекамКонтроллеру # индекс как HTML Оказанные библиотеки / _HEADER.RHTML (0,7 мс) Оказанные библиотеки / _footer.rhtml (0.3ms) Оказанные библиотеки / index.html.erb в пределах макетов / библиотек (5,7 мс) Завершено 200 ОК в 9 мс (просмотры: 8,2 мс | Activerecord: 0,0мм)
начал сообщение "/ get_libs" за 127.0.0.1 в 2011-05-23 20:42:31 +1000 Обработка по библиотекамController # Get_Libs As Параметры: {"Top_lat"=> "- 3.8857201725875936", "right_long"=> "159.3671875", "note_lat"=> "- 46.20993271642981", "left_long"=> "106.6328125"} Библиотечная нагрузка (1238,5 мс) Выберите «Библиотеки». * От «Библиотеки» Где (широта <-3.8857201725875936 и широта> -46.20993271642981 и ((долгота> 106.6328125 и долгота <159.3671875) или долгота> 159.3671875 и долгота> 159.3671875 и долгота> 159.3671875 и долгота> 159.3671875 и долгота> 159.3671875 0 и 106.6328125> 159.3671875) или (долгота <106.6328125 и долгота <159.3671875 и долгота <0 и 106.6328125> 159.3671875)))) ++++++++++++++++++++++++++++++++++
Я предполагаю, что важный бит выше - это то, что на FF выполняется метод jQuery "Post". Однако, когда я иду в Chrome, я получаю только ниже.
+++++++++++++++++++++++++++++++++++ Начал получить "/ библиотеки" на 127.0.0.1 в 2011-05-23 20:35:44 +1000 Обработка по библиотекамКонтроллеру # индекс как HTML Оказанные библиотеки / _HEADER.RHTML (25,9 мс) Оказанные библиотеки / _footer.rhtml (0.3ms) Оказанные библиотеки / index.html.erb внутри макетов / библиотек (59,1 мс) Завершено 200 ОК в 90 мс (просмотры: 89,1 мс | Activerecord: 0,0мм) ++++++++++++++++++++++++++++++++++
Почему Chrome не выполняет мою jQuery "Post"?
Решение
Судя по тому, что я вижу в консоли Когда я перехожу на ссылку, которую вы предоставляете вашему приложению, вы укусили рельсы 3, которые могут придумать jQuery.Читайте об этом на 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/raail/jquery-ujs/raw/master/src/rails.js
Другие советы
Исправлено: HM.Это было совершенно неожиданно.в любом случае.Я использовал ключевые слова «топ», «левый», «правильный» и «дно» как имена переменной.И это выглядит как Chrome не нравится это.Это потому, что есть другие файлы JS, с которыми Chrome конфликты?Я пытался сделать поиск, но ничего не мог найти.Но в любом случае, на данный момент я изменил свои имена переменных на «Top_Bound», «Left_Bound» и т. Д. И теперь он ведет себя так, как я ожидаю.
ОК. ОК.вот.Некоторые зарезервированные слова JavaScript просто не допускаются строго в Chrome.
http://www.quackit.com/javascript/javascript_reserved_wards.cfm / P >.