MozillaPL.org - polskie centrum Mozilli

Główne menu:

[JS] Sprawdzanie, czy przeglądarka może wyświetlić adres?

Jak tworzyć strony WWW zgodnie ze standardami

Moderator: Pomocy?!

[JS] Sprawdzanie, czy przeglądarka może wyświetlić adres?

Postautor: trejder » 23 maja 2008, 07:18

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

Witam serdecznie,

Na jednej ze swoich stron stosuję proste przekierowanie typu ramka na inny adres (prywatny serwer). W tym celu stosuję taki oto kod:

Kod: Zaznacz cały
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
<frameset rows="100%">
     <frame src="http://227.228.188.62:3313/">
</frameset>
</html>

Abstrahuję tutaj od przestarzałości ramek i ewentualnej niepoprawności powyższego kodu (strona będzie osiągalna wyłącznie prywatnie dla kilku osób, więc brzydko mówiąc - olewam sobie te zagadnienia).

Jak widać, strona przekierowuje na prywatny serwer. Z różnych względów serwer HTTP jest osiągalny nie po standardowym (80) tylko po "kosmicznym" porcie. To powoduje, że niektórzy ludzie nie mogą dostać się do tej strony. Nie znam się na sieciowaniu, ale domyślam się, że wynika to z tego, iż w ich sieciach na routerach jest ów "kosmiczny" port zablokowany.

Nie ważne, z jakiego powodu - ważny jest efekt. U tych osób zamiast przekierować (czyli wyświetlić w ramce) właściwy adres przeglądarka pokazuje standardowy komunikat, typu: "Firefox nie może nawiązać połączenia z serwerem 227.228.188.62" lub analogiczny.

Tu moje pytanie. Czy istnieje jakikolwiek sposób (JavaScript?) sprawdzenia, czy zadany adres docelowy przeglądarka jest w stanie wyświetlić i jeśli tak, to wyświetlenie go (według powyższego kodu)? A jeśli nie - to zamiast w ramce wywoływać ów adres IP, wyświetlić lokalny (na serwerze) jakiś pliczek HTML zawierający krótką informację, że nie udało się i dlaczego?

To nosi znamiona jakiegoś prostego przechwytywania błędów, jeśli to w ogóle w HTML i JS jest możliwe? Czy na przykład mogę zapodać przy pomocy JS właściwy adres do document.frames.URL lub document.frames.href, a potem z innej właściwości tego obiektu sprawdzić, czy załadowanie dokumentu się powiodło, czy może zamiast tego wyświetlono komunikat o błędzie?

Coś pewnie mieszam, albo oczekuję niemożliwego, prawda? :/
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice

Postautor: helios » 23 maja 2008, 22:35

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.8.1.14) Gecko/20080418 Ubuntu/7.10 (gutsy) Firefox/2.0.0.14

Da się to zrobić za pomocą Ajaxu. Nie wiem, jakie są ustawienia ruterów Twoich znajomych, ale najczęściej połączenia wychodzące nie są blokowane, także wszystko powinno działać. Serwer o adresie 227.228.188.62 nie odpowiada na pingi. Być może akurat teraz jest wyłączony, nie wiem.
helios
 
Posty: 217
Z nami od: 10 sierpnia 2005, 18:15
Lokalizacja: Gdańsk

Postautor: trejder » 24 maja 2008, 06:39

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

helios pisze:Da się to zrobić za pomocą Ajaxu.

Tak się domyślałem. A skoro nie mam bladego pojęcia na temat Ajaxu to czy masz pomysł gdzie lub pod jakim hasłem szukać, żeby znaleźć takie rozwiązanie? Lub gotowy skrypt?

helios pisze:Nie wiem, jakie są ustawienia ruterów Twoich znajomych, ale najczęściej połączenia wychodzące nie są blokowane, także wszystko powinno działać.

Powinno, ale nie działa. Dla mnie też to było zaskoczenie. Niestety negatywne. Być może admini w ich sieciach (osiedlowych) wychodzą z zachowawczego założenia, że jeśli port nie jest wykorzystywany to się go blokuje. A może coś innego padło? Nie wiem. Wiem, że mi działa, a już dwie osoby zgłaszały, że nie potrafią wyświetlić zawartości strony.

helios pisze:Serwer o adresie 227.228.188.62 nie odpowiada na pingi. Być może akurat teraz jest wyłączony, nie wiem.

No, niestety - też właśnie zauważyłem, że się wyłożył na dobre. :(
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice

Postautor: rumsztyk » 26 maja 2008, 14:37

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

trejder pisze:A skoro nie mam bladego pojęcia na temat Ajaxu to czy masz pomysł gdzie lub pod jakim hasłem szukać, żeby znaleźć takie rozwiązanie? Lub gotowy skrypt?


Wypróbuj Thickbox
rumsztyk
 

Postautor: helios » 26 maja 2008, 17:54

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5

trejder pisze:Tak się domyślałem. A skoro nie mam bladego pojęcia na temat Ajaxu to czy masz pomysł gdzie lub pod jakim hasłem szukać, żeby znaleźć takie rozwiązanie? Lub gotowy skrypt?


Nie wiem, czy można gdziekolwiek znaleźć gotowy skrypt, który robi coś takiego. http://developer.mozilla.org/pl/docs/AJAX:Na_pocz%C4%85tek#Krok_1_.E2.80.93_powiedz_.22Poprosz.C4.99.21.22.2C_czyli_jak_wykona.C4.87_zapytanie_HTTP
Na tej stronie są wszystkie potrzebne Ci informacje. Jeśli umiesz programować w jakimś języku, to na pewno sobie poradzisz. Jeżeli nie, to pewnie będziesz się musiał nauczyć. :)
helios
 
Posty: 217
Z nami od: 10 sierpnia 2005, 18:15
Lokalizacja: Gdańsk

Postautor: trejder » 27 maja 2008, 09:28

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

helios pisze:Na tej stronie są wszystkie potrzebne Ci informacje. Jeśli umiesz programować w jakimś języku, to na pewno sobie poradzisz. Jeżeli nie, to pewnie będziesz się musiał nauczyć. :)

No, rzeczywiście - przy znajomości PHP na takim poziomie, jaki ja znam zrozumienie tego artykułu i przygotowanie prostego skryptu, który by realizował oczekiwane przeze mnie zadanie nie powinno stanowić większego problemu! Dzięki! :]

Gdy jednak zobaczyłem hasło na dzień dobry, pod tytułem "FF tamto, a IE siamto", czyli że po raz kolejny występuje niezgodność pomiędzy przeglądarkami, to podziękowałem. Dla tak wąskiej grupy odbiorców, dla których jest przeznaczona moja strona, nie ma sensu tracić czasu i żreć się znowu z różnicami pomiędzy przeglądarkami. Jak komuś nie działa, to jego problem! :)

Dzięki za wszelkie rady i pozdrowienia! :) EoT
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice

Postautor: Stef » 27 maja 2008, 15:22

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9pre) Gecko/2008052705 Firefox/3.0pre Sulfur/2.0a1pre

JQuery - taka biblioteka JavaScript, szybko łatwo i przyjemnie w dodatku nie musisz się martwić różnicami pomiędzy przeglądarkami.
Czasami coś napiszę na stef.log
Stef
Moderator
 
Posty: 3466
Z nami od: 16 kwietnia 2004, 11:05


Wróć do Tworzenie stron WWW

Kto jest online

Zarejestrowani użytkownicy: dexter, Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: