Ok, znalazłem rozwiązanie, aby zablokować ten status.
Zasadniczo Facebook używa timera, więc co x minut wyśle wiadomość o pulsie do swoich serwerów z czasem bezczynności.
Oto przykład takiego żądania internetowego:
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
Jeśli przeczytasz ten link, zobaczysz, że & idle = 117 to łączna liczba sekund, przez które konto było bezczynne. State = nieaktywny oznacza czy czat jest aktywny czy nieaktywny
Pamiętaj, że zastąpiłem mój identyfikator użytkownika, który składa się z 15 cyfr.
Aby to wyłączyć, po prostu dodaj następującą regułę do filtrów AdBlock:
https://*-edge-chat.facebook.com
Wadą tej metody jest to, że nie będziesz otrzymywać wiadomości w czasie rzeczywistym. Musisz odświeżyć stronę, aby otrzymać wiadomości.
Ponieważ podaję dodatkowe szczegóły, piszę własną odpowiedź na podstawie oryginału (zamiast go edytować).
Tak, jest na to sposób, ale ta metoda działa tylko w przypadku internetowych serwisów Facebook i Messenger; nie możesz zrobić czegoś podobnego dla aplikacji mobilnych.
Zasadniczo Facebook używa żądań czasowych po stronie serwera, aby sprawdzić, czy klient jest nadal dostępny. Zatem interfejs użytkownika (ładowana strona internetowa Facebooka) będzie okresowo wysyłać żądanie HTTP ( XHR ) z czasem bezczynności do swoich serwerów.
Oto przykład takiej prośby:
Uwaga: zastąpiłem identyfikator użytkownika, który normalnie byłby liczbą.
Jeśli przeczytasz powyższy adres URL, zobaczysz część idle = 117 . Oznacza to całkowitą liczbę sekund, przez które konto było bezczynne. State = nieaktywny stoi na czat czy jest włączony, czy wyłączony.
Aby to wyłączyć, po prostu dodaj następującą regułę do niestandardowej listy filtrów blokera reklam:
Aby wyłączyć zarówno na Facebooku, jak i Messengerze, możesz dodać następujące dwa wiersze:
Lub pojedyncza linia, używając wyrażenia regularnego :
Kilka wad tej metody polega na tym, że nie będziesz w stanie odbierać wiadomości w czasie rzeczywistym i nie pojawi się online, nawet jeśli czat jest włączony. Musisz odświeżyć stronę, aby otrzymywać nowe wiadomości.
Aby uniknąć obu tych wad, oto jedno obejście. Zamiast tego możesz dodać ten wiersz:
Lub dodaj to do obu, Facebook i Messenger:
Efektem końcowym będzie:
Niestety wydaje się, że nie ma innego rozwiązania, ponieważ interfejs Facebooka może pobierać wiadomości tylko wtedy, gdy klient okresowo zgłasza, że są aktywne, dlatego pobieranie odbywa się po zgłoszeniu ostatniej aktywności. Oba te działania są możliwe za pomocą jednego skryptu zaplecza ( * -edge-chat.facebook.com / pull ) poprzez to samo żądanie; dlatego nie możesz mieć jednego bez drugiego.
źródło
Zresetowałem Chrome, który wyłączył moje rozszerzenia i działa teraz dobrze.
źródło