Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: javascript i problem z firewall'em
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
jpluzek
Jak sprawdzic w skrypcie czy firewall nie blokuje mi funkcjonalności stronki, związanej np. z wyskakującymi okienkami, lub w ogóle z nowymi okienkami, które można otworzyc z poziomu strony.

Wcześniej wystąpił problem, że firewall wstawiał mi do kodu wyświetlanej stronki swój własny kod, który uniemożliwiał - głównie w badzIEwiu, w innych przeglądarkach było ok. - otworzenie nowego okna za pomocą javascript'u.
Jeżeli odświeżyło się stronkę wtedy problem znikał, ale nigdy kiedy weszło się na strone poprzez odnośnik z innej strony. W końcu wpadłem na to, że trzeba zmienic ustawienia zapory, tak żeby zezwalała mojej stronie na otwieranie wyskakujących okienek, wtedy problem zniknął całkowicie.

No ale teraz potrzebuje jakiegos sposobu żeby sprawdzic za pomocą javascriptu czy otwieranie okienek jest zablokowane i w zalażności od wyniku wyświetlic odpowiednie ostrzeżenie, i nie wpuścic gościa na strone. Oczywiście mogę już na pierwszej stronie wyświetlic odpowiednie ostrzeżenie dla odwiedzających, ale w ten sposób nie zablokuje wejścia na strone osobom z niewłaściwą konfiguracją firewall'a, a wtedy strona może nie działac prawidłowo....


Dlatego też ... "Help" snitch.gif
my_identify
Najłatwiejszym i chyba jedynym sposobem na sprawdzenie czy okienaka nie są blokowane jest próba ich wyświetlenia biggrin.gif Ja to wymyśliłem tak:
  • na pierwszej stronie pisze coś w stylu "sprawdź ustawienia...ble ble ble..."
  • próbuje otworzyć okno
  • jeżeli się otworzy to sktypt w nim zawarty przekieruje urzytkownika na inną strone (na tyle szybko że nie zdąży przeczytać tego tekstu na pierwszej stronie tongue.gif )
W praktyce wygląda to tak, do index wstawisz w ramach head taki skrypt:
Kod
<script type="text/javascript">

function test()
{
// otwieramy okno
var popup=window.open("test.htm","","width=300,height=30,resizable")
    
// uświadamiamy mu kto jest jego twórcą ;)
popup.creator=self;

// wywołujemy funkcje zawartą w okienku popup bo inaczej w IE nie działa...
popup.go();
}

</script>


wywołujesz ją np. :
  1. <body onload="test()">


Tworzysz nowy plik html "test.htm" i do niego wstawaisz
Kod
<script type="text/javascript">

function go()
{
creator.location="tutaj jakiś adres"
}

</script>


i wywołujesz:
  1. <body onload="go()">


Testowałem to dla FF i IE i niby działa cool.gif. Po całym zabiegu zostaje otwarte okienko (chyba, że jest blokada) , możesz je zamknąć albo wstawić jakieś informacje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.