Хорошо, я нашел решение, чтобы заблокировать этот статус.
В основном Facebook использует таймер, и поэтому он будет отправлять сообщения пульса на свои серверы с временем простоя каждые x минут.
Вот пример такого веб-запроса:
https://1-edge-chat.facebook.com/pull?channel=userid&seq=0&partition=-2&clientid=18ae8ecc&cb=ie3k&idle=117&qp=y&cap=8&msgs_recv=0&uid=userid&viewer_uid=userid&msgr_region=FRC&state=offline
Если вы прочитаете эту ссылку, вы увидите, что & idle = 117 - это общее количество секунд, в течение которого аккаунт простаивал. Состояние = отсутствует означает ли активен или в автономном режиме чата
Обратите внимание, что я заменил свой идентификатор пользователя, который состоит из 15 цифр.
Поэтому, чтобы отключить это, просто добавьте следующее правило в свои фильтры AdBlock:
https://*-edge-chat.facebook.com
Недостатком этого метода является то, что вы не будете получать сообщения в режиме реального времени. Вы должны обновить страницу, чтобы получить сообщения.
Поскольку я предоставляю дополнительную информацию, я пишу свой собственный ответ на основе оригинала (вместо того, чтобы редактировать его).
Да, есть способ сделать это, но этот метод работает только для веб-сайтов Facebook и Messenger; вы не можете сделать что-то подобное для мобильных приложений.
В основном Facebook использует синхронизированные запросы на стороне сервера, чтобы проверить, доступен ли клиент. Поэтому внешний интерфейс (загруженная веб-страница Facebook) будет периодически отправлять HTTP-запрос ( XHR ) со временем простоя на свои серверы.
Вот пример такого запроса:
Примечание: я заменил идентификатор пользователя, который обычно был бы числом.
Если вы прочтете приведенный выше URL, вы увидите часть, в которой говорится idle = 117 . Это обозначает общее количество секунд, в течение которых аккаунт простаивал. Состояние = отсутствует означает , включен ли чат или выключить.
Итак, чтобы отключить это, просто добавьте следующее правило в пользовательский список фильтров вашего рекламного блокиратора:
Чтобы отключить Facebook и Messenger, вы можете добавить следующие две строки:
Или одной строкой, используя регулярное выражение :
Недостатки этого метода в том, что вы не сможете получать сообщения в режиме реального времени и не будете появляться в сети, даже если чат включен. Вам придется обновить страницу, чтобы получать новые сообщения.
Чтобы избежать обоих этих недостатков, вот один из обходных путей. Вы можете добавить эту строку вместо:
Или добавьте это для Facebook и Messenger:
Конечный результат этого будет следующим:
К сожалению, другого решения, похоже, не существует, поскольку клиентская часть Facebook может извлекать сообщения только тогда, когда клиент периодически сообщает, что они активны, поэтому извлечение выполняется после сообщения о последней активности. Оба эти действия становятся возможными с помощью одного внутреннего сценария ( * -edge-chat.facebook.com / pull ) по одному и тому же запросу; следовательно, вы не можете иметь одно без другого.
источник
Я сбросил Chrome, который отключил мои расширения и теперь работает нормально.
источник