#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня есть форум игрового сообщества, где я установил несколько объявлений Google, но люди злоупотребляют этим (конечно, по доброй воле) и постоянно нажимают на них…теперь я не хочу генерировать какие-либо незаконные клики на сайт, но некоторые люди просто не слушают.
Есть ли какой-либо способ определить, нажал ли кто-то на Google ads…so я мог бы отключить их для использования тем, кто нажимал на них в течение дня или около того.
Спасибо за помощь.
Комментарии:
1. Лучший способ сделать это — вести оперативное наблюдение за кликами. Также проверьте конкурентов, которые извлекают выгоду из этих кликов, и сообщите об этом в Google.
Ответ №1:
Если я правильно помню — отслеживание кликов по объявлениям в Google Ads противоречит правилам, поскольку это приводит к созданию стимулов для нажатия на объявления. (например, их отключение). Я понимаю, что вы пытаетесь решить проблему с незаконными кликами, но на самом деле вы роете себе могилу.
Но чтобы ответить на ваш вопрос из чисто веб-интереса — вы можете определить положение мыши по X Y ( смещение прокрутки страницы) в window.onbeforeunload
и быстро выполнить пинг вашего сервера. Обычно это делается путем создания new Image();
с исходным кодом, являющимся файлом php.
Это верно для всех браузеров, независимо от использования iframe.
Удачи!
Ответ №2:
Объявления Google — это iframes, и Javascript не имеет доступа к содержимому или добавлению к нему событий, если оно находится в другом домене, чем родительский сайт (см. Закон iframes здесь).
Однако вы можете поместить чистый div ( visibility: hidden
, не display: none
) поверх iframe и, таким образом, перехватывать клики на него. Единственная проблема заключается в том, что вы либо перехватываете клик, либо нет. Таким образом, когда пользователь нажимает в первый раз, вы можете запустить свою логику, чтобы определить, разрешать это или нет, и если вы хотите разрешить это, display: none
ваш div и предложить пользователю щелкнуть еще раз.
Это практически единственный способ, которым вы можете это сделать.
Ответ №3:
Вы можете использовать плагин iframetracker.
<script src="jquery.min.js"></script>
<script src="jquery.iframetracker.js"></script>
$('iframe').iframeTracker({
blurCallback: function(){
// Do something when clicked on ad
}
});
дополнительную информацию и демонстрационную версию смотрите здесь.
Ответ №4:
Здесь у вас есть несколько официальных ответов от Google по этому поводу:
http://adwords.blogspot.com.ar/2006/03/about-invalid-clicks.html
Обнаружить дублирующиеся IP-адреса не так уж сложно, и они также могут использовать файлы cookie для отслеживания пользователей. Если только вы не используете множество прокси (поддельных компьютеров) для преднамеренного мошенничества, у вас не должно возникнуть никаких проблем с этим.
В Adsense это работает, у них есть несколько источников данных для обнаружения этого. Если у вас установлен Google Analytics, вы также предоставляете им достаточно информации, чтобы отбросить уловки.
Ответ №5:
Вы можете использовать событие jQuery .click()
с комбинацией некоторого хранилища (cookie или базы данных). Затем вы просто находите элемент, содержащий объявления, прикрепляете к нему событие click и выполняете свою бизнес-логику (проверьте, нажимал ли пользователь на это раньше) внутри. Вы также можете управлять тем, как будет переходить клик в объявления (если он будет зарегистрирован или нет), конечно.
Комментарии:
1. Это невозможно, поскольку объявления Google находятся в iFrames, расположенных в другом домене.