Обнаружение вмешательства пользователя с DOM - PullRequest
2 голосов
/ 15 июня 2011

Я написал веб-приложение, которое использует рекламный баннер сбоку для поддержки бесплатных аккаунтов. Проблема в том, что, поскольку объявление загружается в собственную

, относительно легко войти в консоль разработчика / отладки в любом современном браузере и либо удалить div, либо изменить размер объявления до 0px, используя переопределения CSS (пользователи могут сделать это для получить больше недвижимости в рабочем пространстве приложения). Чтобы предотвратить это, я периодически проверял, изменяются ли вообще свойства div с рекламой (включая стиль CSS), и если они это делают, перезагрузите страницу. Поскольку я полагаюсь на элемент холста для некоторого чертежа, перезагрузка будет довольно раздражающей для пользователя, поскольку она очистит холст, поэтому я не хочу этого делать, если реклама не была подделана.

Я видел несколько похожих вопросов об отслеживании изменений DOM, когда люди предлагают использовать мутационные события. Однако, основываясь на ответах, кажется, что поддержка не существует во всех браузерах (опять же, потоки, которые я видел, относятся к 2008 и 2009 гг., Так что с тех пор все могло измениться).

Другая альтернатива, которую я рассматривал, - это просто читать в offsetWidth, offsetHeight, offsetTop, offsetLeft элемента div объявление после окончания загрузки страницы и периодически сравнивать их с текущими значениями (не так уж много можно сделать, чтобы сделай так, чтобы div ушел, если ты не можешь его сдвинуть).

Что вы, ребята, предлагаете?

Ответы [ 2 ]

6 голосов
/ 15 июня 2011

Если посетитель использует, скажем, Firefox с Adblock, ваш баннер никогда не появится на странице, поэтому события мутации не будут отправляться. Вы можете просмотреть свойства стиля и перезагрузить страницу, но она не будет отображаться. Постоянно перезагружаемая страница раздражает пользователей, поэтому они уходят.

Если ты в порядке с этим, дерзай. В противном случае, поймите, что кто-то, отключивший ваше объявление, никогда не ответит на него, в чем смысл?

6 голосов
/ 15 июня 2011

Вы никогда не помешаете кому-то, кому достаточно комфортно с инспектором DOM, сделать это. Это даже не стоит игра в кошки-мышки. 99,999% пользователей, вероятно, вызвали бы техподдержку, если бы они случайно обратились к инспектору DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...