Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Применение библиотек > .load(), jquery 1.9.1, IE8 и яндекс-метрика |
Автор: Чoо 5.7.2013, 02:37 | ||||||||||||
Здравствуйте. Задача состоит в следующем: необходимо при клике по ссылкам, находящимся в блоке div#menu_X загрузить страницу в блок div#ajax_content_X div.for_ajax. В загружаемой странице нужная секция находится в блоке div.for_ajax. Имею вышеперечисленное и в секции head:
содержимое load_ajax.jQuery.js:
код счетчика от яндекс-метрики:
запрашиваемую страницу вывожу в эту конструкцию(при клике по ссылкам в ней же):
в запрашиваемой странице нужный участок размещен в блоке:
Содержимое, вобщем-то, получаю.. но вместе с тем в IE8 получаю сообщение:
Обе страницы находятся в пределах одного домена. На двух же страницах установлен одинаковый счетчик. Если убрать счетчик с запрашиваемой .load() страницы - ошибка не наблюдается. Но это не решение - счетчик там нужен.. Подскажите пожалуйста, как решить эту проблему? |
Автор: ksnk 5.7.2013, 07:22 | ||
Загружаемые страницы - в принципе - самостоятельные страницы сайта? Счетчик метрики там нужен именно по этому? Может не выводить его при генерации страниц, запрашиваемых по ajax? Так как получается, что на одной и той же странице(url остается таким же) вызывается метрика несколько раз. Yandex может неправильно понять. Как вариант, если до генерации страниц добраться сложно, можно переписать
|
Автор: Чoо 5.7.2013, 12:45 | ||
ksnk, спасибо за ответ. Загружаемые страницы - самостоятельные (на них можно попасть и на прямую), поэтому счетчик там нужен. К сожалению, с .ajax() та же ошибка (правда немного изменил код):
получаю в ИЕ ту же ошибку: http://s018.radikal.ru/i526/1307/af/b08d572a9631.png в страницу до переделки функции и после вставляется часть страницы без счетчика. но он все-таки как-то влияет на процесс ошибка проявляет себя при клике по ссылке. после нее уже отрабатывает функция. *** ставлю точки останова в watch.js на первой строке и в load_ajax.jQuery.js на var link = this.href; - в ff останавливается на метрике, в IE останавливается в load_ajax.jQuery.js |
Автор: Чoо 5.7.2013, 15:32 | ||||
ну вобщем причина, по которой поведение не поменялось - под регулярное выражение попадала только строка
соответственно код счетчика оставался. как сделать, что бы затереть весь блок - я не сообразил, поэтому просто вставил открытый комментарий
но кажется, что это не совсем изящно) |
Автор: ksnk 5.7.2013, 20:14 | ||
Да, в регулярке косяк. Причем, скорее в реализации регулярок в JS вообще... Должно быть так.
Вот кто мне объяснит, почему перечисление тут работает, а перечисление символов, которое работает, к примеру, в php, тут не пашет? |
Автор: Чoо 5.7.2013, 20:56 | ||
ksnk, я и не заметил, что перечисление не пашет. переписанный вариант работает. спасибо за помощь. *** спецсимвол ? можно, наверное, не использовать?. Жадный поиск, благодаря ограничителю
"съедает" все между комментов. *** |