В социальной сети Вконтакте при переписке в "Диалогах" есть уведомление о наборе сообщения " Даня набирает сообщение...". Мне стало интересно как отключить это уведомление. Включив сниффер я увидел что при изменении поля ввода сообщения отсылается POST запрос на http://vk.com/al_im.php с такими данными: act=a_typing al=1 hash=122b0365c4808a0bad peer=айди собеседника Далее я начал поиск в исходном коде функции, которая отвечает за это уведомление. Были найдены два файла: http://vk.com/js/al/notifier.js http://vk.com/js/al/im.js Предположительно вот кусок кода, который отвечает за эту функцию: Code: onMyTyping: function (peer) { peer = intval(peer); var tab = cur.tabs[peer]; if (peer <= 0 || !tab) return; var ts = vkNow(); if (cur.myTypingEvents[peer] && ts - cur.myTypingEvents[peer] < 5000) { return; } cur.myTypingEvents[peer] = ts; ajax.post('al_im.php', {act: 'a_typing', peer: peer, hash: tab.hash}); } Для отключения этой функции я использовал такой код: Code: IM.onMyTyping = function () { return false; } Выполнение этого кода на странице привело к тому, что у собеседника стало выводится вместо полного сообщения лишь картинка . Прошу помощи в решении двух задач: 1)Всётаки запретить этот запрос так, чтобы у собеседника не появлялось уведомление. 2)Попытатся изменить этот запрос, вероятно что есть возможность отправить другие данные.
1. Попробуй ничего не отправлять, т.е. просто return; 2. я заметил что там ещё участвует вот это notifier.js 3609 Code: addEvent(tab.txt, 'keydown focus mousedown keyup', function (e) { if (e.type == 'mousedown') { if (curRBox.active == tab.box.id) { (e.originalEvent || e).cancelBubble = true; } return; } if (e.type == 'keydown' && !(e.shiftKey || e.metaKey || e.ctrlKey) && (e.keyCode == KEY.RETURN || e.keyCode == 10)) { FastChat.send(peer); return cancelEvent(e); По всей видимости вешается ивенты ещё, в результате которого выполняется FastChat.send(peer); Где этот чат я не понял (не дружу с вк), поэтому не стал вдаваться в подробности. Но тебе проще будет вооружиться ещё дебагером.