Как выполнить по onmousemove только один раз?
ссылка с id="gruz", при клике на ссылку, запускается таймаут в секунду, и потом при движении мыши по ссылке - всплывает сообщение. Проблема в том, что этих сообщений скапливается очень много одно за другим, как сделать только одно повторение?
Вот метод, который я использовал с переменной isCall, почему-то не работает... вот код:
var gruz = document.getElementById('gruz');
gruz.onclick = function(event) {
event = event || window.event
if(event.preventDefault){
event.preventDefault();
}else{ // IE<9:
event.returnValue = false;
}
gruz.onmousemove = function(event) {
function fun() {
var isCall = false;
if (!isCall) {
eval("alert"+"('14"+"88 \\\\o')");
isCall = true;
}
}
setTimeout(fun, 1000);
};
};
Помогите пожалуйста! |
var gruz = document.getElementById('gruz');
gruz.onclick = function(event) {
event = event || window.event
if(event.preventDefault){
event.preventDefault();
}else{ // IE<9:
event.returnValue = false;
}
var start = true;
gruz.onmousemove = function(event) {
function fun() {if(start){start = false;
var isCall = false;
if (!isCall) {
eval("alert"+"('14"+"88 \\\\o')");
isCall = true;
}
}
setTimeout('fun();start = true;', 1000);
};
};
|
Цитата:
evalить то зачем? а если, этот участок кода, реально, не в глобале?...
setTimeout( function(){ fun();
start = true;
}, 1000);
eval зачем? просто alert..... отмена обработчика события:
function fun() {
gruz.onmousemove=null;
.....
установка обработчика события :
setTimeout( function(){ gruz.onmousemove = имя функции}, 1000);
всё до кучи:
var gruz = document.getElementById('gruz');
gruz.onclick = function(event) {
event = event || window.event
if(event.preventDefault) event.preventDefault();
else event.returnValue = false;
if(!gruz.onmousemove) setTimeout(createMoveEvent, 1000);// навеска обработчика мова, какой начнёт работать через секунду после каждого клика, если был отменён алертом, или его не было
}
function createMoveEvent(){
gruz.onmousemove = doMove;
}
function doMove(event){
gruz.onmousemove=null;
alert(14+'88 \\\\o');
......
setTimeout(createMoveEvent,1); // возврат навески обработчика мова после закрытия окна ,если нужен.
// если мов, всякий раз, обрабатывается через секунду после клика, пред. строка не нужна
}
|
Кстати в случае с обработчиками DOM level 1 можно вместо preventDefault() просто возвращать return false.
|
Всех очень благодарю, вечером буду разбираться!
Евалить мне надо вот почему. Я в свободное от работы время пробую заниматься созданием специальных сайтов под запросы, чтобы ловить низкочастотный трафик и на этом подработать. А тут я делал скрытую ссылку + возможность редиректа, зачем-то решил его максимально усложнить, ну будет хотябы опыт. Сначала пхп выводит тег скрипт с ссылкой на первый жс файл, только для тех пользователей, которые пришли по ссылке с поисковиков (через referer), этот скрипт подгружает с двух урлов 2 части кода и евалом их выполняет - этот код подключает к head второй скрипт js. Второй скрипт - это вот этот скрипт, он при клике активирует событие на движение мыши (чтоб поисковый бот не мог воспроизвести движение мыши - так у некоторых считается, что бот не может этого сделать)... Как-то так... |
А евалить, потому что считается что бот ищет в js такие вхождения текста как location="http://...
И если код разбить на "loc"+"ation=\"ht"+"tp://..." то бот якобы может не усмотреть редиректа... |
Цитата:
window['loc' + 'ation'] = 'http://..'; или var loc = location; loc.href = ... Цитата:
|
Ничего не выйдет наверное
там и анализ кода - Цитата:
|
Цитата:
Цитата:
Да и вообще я объединил все возможные современные способы спрятать редирект, плюс я прятал не редирект, а ссылку. Чтобы небыло прямой ссылки, чтоб не спалить основной сайт на который лью траф с остальных псевдосайтов. И каждый из способов - работает отдельно у других людей на данный момент... Т.е. если поставить тупо редирект - бан. Если спрятать одним из этих способов - то бана сразу нету. |
Цитата:
|
Цитата:
Цитата:
|
Там ,в других пунктах, где то было, какой код они определяют как вредоносный. в т.ч они определяют и обфусфицированный вредоносный.
|
| Часовой пояс GMT +3, время: 08:01. |