Я просмотрел все проблемы Chrome OnClick, и ни одна из них не похожа на проблему, с которой я столкнулся.
У меня есть div, для которого я помещаю событие onclick (в PHP) примерно так ...
$design_code = '<div class="skip" onclick="skipOffer2();">'.$design.'</div>';
В IE & FF это работает нормально. В Chrome это работает примерно в 50% случаев. Когда это не работает, и я проверяю этот div с помощью Firebug на Chrome, он показывает пустое событие onclick:
<div class="skip" onclick="">
У меня нет кода, который удаляет это событие, переопределяет его или что-то еще делает с этим div, и опять же ... это происходит только в Chrome. Каким-то образом Chrome удаляет это событие.
Чтобы еще больше запутать микс, когда я добавляю функцию onclick к "javascript:", она работает на 100% в Chrome.
$design_code = '<div class="skip" onclick="javascript:skipOffer2();">'.$design.'</div>';
Кто-нибудь еще сталкивался с этой проблемой? Действительно ли Chrome удаляет мой обработчик событий и почему? И наконец, зачем исправлять проблему с помощью «javascript:»?
ОБНОВЛЕНИЕ 1:
Проблема на самом деле связана с данными POST, переданными с предыдущей страницы. Я передаю кодированную строку с предыдущей страницы, которая содержит текст «onclick% 3D% 22skipOffer2% 28% 29% 22».
На текущей странице я вообще не могу использовать эту функцию onclick! Если я попытаюсь использовать onclick = "skipOffer2 ()", Chrome удалит его и оставит пустое событие onclick.
Как данные POST (которые даже не используются) влияют на текущую страницу? Может ли кто-нибудь еще это проверить?
Вот мой тестовый URL: http://mattkeaveney.com/test1.php
ОБНОВЛЕНИЕ 2:
Проблема существует и с данными GET ..
http://mattkeaveney.com/test2.php?test=onclick%253D%2522alertMe%2528%2529%2522