Webboard

Pełna wersja: Status Online w kontakcie
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
(07.09.2019, 11:30)Fyeem napisał(a): [ -> ]Zauważ, że umieściłeś na stronie 2 znaczniki span o tym samym id (<span id="wlascicielStatus"></span>). Nie można tak. Dla drugiego administratora musisz zmienić tą nazwę, np. dodając 2 na końcu id.

Wtedy też musisz skopiować:
Kod:
const wlascicielStatus = $("#wlascicielStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status
i również tu podmienić to ID.

Aktualnie JS wygląda tak:

Kod:
<script type="text/javascript">
    $(function() {
  const row = $(".statuskontakt2"); // Rodzic: kto jest online

  const wlascicielStatus = $("#wlascicielStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status
  const wlascicielRank = $(".wlasciciel"); // Klasa rangi administratora

  const wlascicielStatus2 = $("#wlascicielStatus2"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status
  const wlascicielRank2 = $(".wlasciciel"); // Klasa rangi administratora

  const moderatorStatus = $("#moderatorStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status
  const moderatorRank = $(".moderator"); // Klasa rangi administratora

  // Formatowanie wyświetlania tego statusu
  const statusOnline = '<span style="color: green;">Online</span>';
  const statusOffline = '<span style="color: red;">Offline</span>';

  if (row.find(wlascicielRank).text() == " Roughster") {
    wlascicielStatus.html(statusOnline);
  } else {
    wlascicielStatus.html(statusOffline);
  }

  if (row.find(wlascicielRank2).text() == " Kaneki") {
    wlascicielStatus2.html(statusOnline);
  } else {
    wlascicielStatus2.html(statusOffline);
  }

  if (row.find(moderatorRank).text() == " Van") {
    moderatorStatus.html(statusOnline);
  } else {
    moderatorStatus.html(statusOffline);
  }        
});
</script>

I jak ja byłem na forum + Van to pokazywało, że jesteśmy online, ale jak już wszedł Kaneki, to ja oraz Kaneki jesteśmy offline, a Van jest nadal online.

Edit: minęło 15 minut, Kaneki zniknął z listy "Kto jest online" i znowu pokazuje mnie jako Online.
Zgadza się, do tej pory jeśli taką rangę miała tylko jedna osoba - wszystko było w porządku.
Spróbuj tego kodu (i jeszcze usunąłem wlascicielRank2, bo o tym przecież nie napisałem ;)):
Kod:
<script type="text/javascript">
    $(function() {
        const row = $(".statuskontakt2"); // Rodzic: kto jest online

        const wlascicielStatus = $("#wlascicielStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status administratora
        const wlascicielRank = $(".wlasciciel"); // Klasa rangi administratora

        const wlascicielStatus2 = $("#wlascicielStatus2"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status administratora2

        const moderatorStatus = $("#moderatorStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status moderatora
        const moderatorRank = $(".moderator"); // Klasa rangi moderatora

        // Formatowanie wyświetlania tego statusu
        const statusOnline = '<span style="color: green;">Online</span>';
        const statusOffline = '<span style="color: red;">Offline</span>';

        if (row.find(wlascicielRank).text().split(' ').includes('Roughster')) {
            wlascicielStatus.html(statusOnline);
        } else {
            wlascicielStatus.html(statusOffline);
        }

        if (row.find(wlascicielRank).text().split(' ').includes('Kaneki')) {
            wlascicielStatus2.html(statusOnline);
        } else {
            wlascicielStatus2.html(statusOffline);
        }

        if (row.find(moderatorRank).text().split(' ').includes('Van')) {
            moderatorStatus.html(statusOnline);
        } else {
            moderatorStatus.html(statusOffline);
        }
    });
</script>
(07.09.2019, 12:10)Fyeem napisał(a): [ -> ]Zgadza się, do tej pory jeśli taką rangę miała tylko jedna osoba - wszystko było w porządku.
Spróbuj tego kodu (i jeszcze usunąłem wlascicielRank2, bo o tym przecież nie napisałem ;)):
Kod:
<script type="text/javascript">
$(function() {
const row = $(".statuskontakt2"); // Rodzic: kto jest online

const wlascicielStatus = $("#wlascicielStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status administratora
const wlascicielRank = $(".wlasciciel"); // Klasa rangi administratora

const wlascicielStatus2 = $("#wlascicielStatus2"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status administratora2

const moderatorStatus = $("#moderatorStatus"); // Miejsce w sidebar w kontakcie, w którym wyswietli sie status moderatora
const moderatorRank = $(".moderator"); // Klasa rangi moderatora

// Formatowanie wyświetlania tego statusu
const statusOnline = '<span style="color: green;">Online</span>';
const statusOffline = '<span style="color: red;">Offline</span>';

if (row.find(wlascicielRank).text().split(' ').includes('Roughster')) {
wlascicielStatus.html(statusOnline);
} else {
wlascicielStatus.html(statusOffline);
}

if (row.find(wlascicielRank).text().split(' ').includes('Kaneki')) {
wlascicielStatus2.html(statusOnline);
} else {
wlascicielStatus2.html(statusOffline);
}

if (row.find(moderatorRank).text().split(' ').includes('Van')) {
moderatorStatus.html(statusOnline);
} else {
moderatorStatus.html(statusOffline);
}
});
</script>

Wszystko działa jak należy.
I teraz, żeby z online nie zmieniało mnie na offline (jak jestem aktywny powiedzmy 10h w bezczynności) to muszę przynajmniej raz na 15 minut odświeżyć stronę?
I w przypadku gdy włącze i wyłącze forum to muszę poczekać 15 minut aż usunie mnie z listy "Kto jest online" i zmieni mnie na offline, tak?
(07.09.2019, 12:35)TSUNAMI napisał(a): [ -> ]I teraz, żeby z online nie zmieniało mnie na offline (jak jestem aktywny powiedzmy 10h w bezczynności) to muszę przynajmniej raz na 15 minut odświeżyć stronę?
Z tego co kojarzę to tak.
(07.09.2019, 12:35)TSUNAMI napisał(a): [ -> ]I w przypadku gdy włącze i wyłącze forum to muszę poczekać 15 minut aż usunie mnie z listy "Kto jest online" i zmieni mnie na offline, tak?
Nie, po wyjściu z forum jesteś offline (sprawdź wyłączając kartę i wchodząc na forum w karcie incognito).

Z tym że pamiętaj, że to działa po załadowaniu strony, nic nie odświeża się dynamicznie, jeśli użytkownik przez kilka godzin nie odświeży strony a Ty w tym czasie wyjdziesz, on będzie widział Cię jako online. Skrypt po prostu sprawdza to, co generuje samo MyBB w kto jest online.
(07.09.2019, 14:30)Fyeem napisał(a): [ -> ]
(07.09.2019, 12:35)TSUNAMI napisał(a): [ -> ]I teraz, żeby z online nie zmieniało mnie na offline (jak jestem aktywny powiedzmy 10h w bezczynności) to muszę przynajmniej raz na 15 minut odświeżyć stronę?
Z tego co kojarzę to tak.
(07.09.2019, 12:35)TSUNAMI napisał(a): [ -> ]I w przypadku gdy włącze i wyłącze forum to muszę poczekać 15 minut aż usunie mnie z listy "Kto jest online" i zmieni mnie na offline, tak?
Nie, po wyjściu z forum jesteś offline (sprawdź wyłączając kartę i wchodząc na forum w karcie incognito).

Z tym że pamiętaj, że to działa po załadowaniu strony, nic nie odświeża się dynamicznie, jeśli użytkownik przez kilka godzin nie odświeży strony a Ty w tym czasie wyjdziesz, on będzie widział Cię jako online. Skrypt po prostu sprawdza to, co generuje samo MyBB w kto jest online.
Ok, dzięki wielkie.
 powiesz mi jeszcze, jak mogę uzyskać taki efekt?
[Obrazek: qHC8Ow6.png]

W footer zamiast tego:
Kod:
const statusOnline = '<i class="fa fa-circle" style="color: green;"></i>';
próbowałem dodać takie coś: 
Kod:
const statusOnline = '<i class="fa fa-circle" data-toggle="tooltip" title="" data-original-title="Online" style="color: green;"></i>';
ale niestety nie działa
a jak do indexu do kontaktu zamiast tego:
Kod:
<span id="wlascicielStatus"></span>
dodam takie coś:
Kod:
<span id="wlascicielStatus" data-toggle="tooltip" title="" data-original-title="Online"></span>
to wtedy działa, ale pokazuje cały czas online.
Stron: 1 2