Клуб API Карт

API Я.Карт Конфликтует с jQuery?

Пост в архиве.

У меня на сайте на всех страницах подключен jQuery 1.3.2 и несколько (в завистимости от раздела) популярных скриптов на этой библиотеке - от табов до проверки форм на ходу и фэнзибокса.

И вот незадача - при попытке добавить на страницу карту от яндекса карта обильно сыпет ошибками:

Failed  _YMaps.js, строка 11 символ 217570


А при попытке добавить на карту метки с каким-либо контентом, ещё и на недопустимые символы в коде ругается и карту не отображает. 

Кто нибудь сталкивался с подобным? Что я делаю не так?

UPD: Проблему с ошибками победил, отключив один плагин, из за него как оказалось карты сыпались. Он там на инфо страницах и не особо нужен...

Но пока не нашел решения проблемы со спецсимволами в подсказаках, мне там html нужен, но на нем то карта и падает, отказываясь загружаться. Есть мысли по этому поводу?
7 комментариев
Александр Новиков
28 января 2016, 07:51
АПИ подгружает jQuery. Но вроде бы как разработчики обещали что конфликты невозможны и "их" jQuery надежно изолирован. Я по крайней мере конфликтов не наблюдал...
1.грузите карты отложено
2.YMaps.onLoad(setTimeout(myinitfunction,1));
отвязываетесь от контекста загрузки
3.всегда когда YMaps вызывают какой либо колбэк вы работаете из ИХ контекста, и на $ висит ИХ jquery. Одновременная работа с одним сетом элементом двумя разными кверями - шаманство..

Я тут както писал топик "из Яндекс карт вылезает jQuery"

как лечить
1.где можно вызывайте нужные функции через setTimeout, колбэк запуска - 100% обазательно

2.более кардкор
заверните ВСЕ свои скрипты в конструкцию

(function (){
 "use strict";
 this.$=window.$;
 ваш код...

 window.имяфункции=имя функции
})()
из которой будут торчать только те функции и переменые которые вы в конце скрипта явно переложите в window

в данном случае вы будете работать в изолированом контексте и он ВСЕГДА будет ваш..
тоесть в данном случае из YMaps ничего вылезать не будет..

мне потребовался месяц чтобы допереть до этого :) колличество отказов из-за ошибок скриптов с полутысячи в день сократилось до двух десятков, ито - таймауты
Спасибо :). А есть идеи как заставить его хтмл кушать?
простите, но вопроса не понял
Привидите пример вашего кода и спецсимволов, которые рушат карту.
А как называется "проблемный" плагин?
Кирилл Яковлев
28 января 2016, 07:51
Хм.. а я думал, что следует использовать jquery из яндекс карт, зачем код плодить..