![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Potrzebuje zrobić pewien skrypt, który z początku wydawało mi się, że wystarczy javascript. Chodziło o stworzenie skryptu, który na początku ładowania strony sprawdzi z jaką przeglądarką internetową ma do czynienia. Jeśli jest to IE6 niech: wyświetli komunikat i zatrzyma dalsze ładowanie strony. I teraz tak. Mam skryot w javascript który sprawdza wersje przeglądarki i jeśli natrafia na IE6 wyświetla komunikat. Wiem też jak najprościej zatrzymać dalsze wyświetlanie strony za pomocą php. Np. funkcją exit(); prosto lecz skutecznie ale javascript i PHP ze sobą nie współpracują i doszły mnie słuchy, że AJAX jest w stanie coś takiego zrobić. Zanim jednak wezmę się za próby napisania tego skryptu moje pytanie: Czy rzeczywiście za pomocą AJAXa da się napisać taki skrypt?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Nie lepiej za pomocą samego PHP sprawdzić przeglądarkę i wykonać odpowiednią akcje?
Poza tym to co chcesz zrobić brzmi nieciekawie - blokować dostęp dla danej przeglądarki? Nie lepiej komunikat, że mogą wystąpić problemy? Ten post edytował markonix 27.11.2010, 13:54:47 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 27.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zauważ, że wykonywanie javascript można zablokować w przeglądarce. Wtedy mając IE spokojnie możesz wejść.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Albo zrób po prostu coś a'la:
Kod <html> <body> JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML.JAKIŚ długi tekst, zastępujący elementy HTML. </body> </html> <script> var IE = false; //zmień wartość na false. //Tu musi pojawić się funkcja spr. czy to jest IE6 if(IE){ document.body.innerHTML = ""; alert("Użyj przeglądarki, a nie jakiegoś badz_IE_wia - inaczej nic nie zobaczysz");} </script> Oczywiście musisz to odpowiednio pozmieniać, żeby to miało ręce i nogi. PS. Mistrzem PHP, nie jestem, ale chyba funkcja exit() przerywa jedynie działanie PHP(prasera), a nie ładowanie dokumentu HTML. Nie mam czasu, ale sprawdź np. coś takiego: Kod 126789
<?php eixt(); ?> 12345678 Ten post edytował kamil4u 27.11.2010, 22:54:25 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzić przeglądarkę za pomocą php? ciekawe bo z tego co wiem to php działa po stronie serwera wiec jak miałbym to zrobić? Co do blokowania dostępu do danych to czemu nie? Już od dawna wielu webmasterów przestało zwracać uwagę na to jak wyglądają ich strony w IE6 bo teoretycznie wszyscy już powinni korzystać co najmniej z IE7. Jeśli ktoś jest na tyle leniwy, że mu się nie chce zaktualizować przeglądarki to już nie mój problem. Może to trochę chamskie podejście ale aktualizacja wymaga mniej wysiłku niż próby sprawienia aby strona wyglądała dobrze we wszystkich przeglądarkach tym bardziej, że IE6 to już prehistoria.
Co do tego, że da się wyłączyć javascript to prawda ale jeśli miał bym podzielić użytkowników na grupy wyszły by dwie: 1. Pierwsza grupa składała by się z osób, które wiedzą co to javascript i mają ją wyłączoną (z jakichś tam powodów) ale jeśli wiedzą, do czego to służy to jestem prawie pewien, że korzystają z innych przeglądarek niż IE ewentualnie mają ją zaktualizowaną. 2. Druga grupa składała by się z osób, które mają IE6 bo sami nie wiedzą po co mieli by w ogóle aktualizować coś skoro teoretycznie działa więc wątpię, żeby mieli wyłączoną obsługę javascript, która jest domyślnie włączona. Więc jakie są szanse, że ktoś będzie miał IE6 i wyłączoną obsługę javascript? 5% użytkowników? kamil4u - ten fragment kodu, który podałeś blokuje treść czy tylko wywala komunikat? Niestety nie bardzo znam się na javascript wiec mogę się tylko domyślać. I jak to działa jeśli skrypt wykonuje się pod treścią - chyba że skrypt umieszczę w funkcji i wykonam ją przed treścią. Co do funkcji exit(); to masz racje. Zatrzymuje jedynie działanie PHP ale można umieścić treść kodu html w echo wewnątrz php - wiem, że jest to strasznie nieestetyczna forma ale podałem to tylko w formie przykładu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Może po danych, jakie przeglądarka wysyła? User-agent choćby.
Pomijając fakt, że kompletnie nie rozumiem po co ci to? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 10 Dołączył: 2.02.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie pytaj po co, ja sam chętnie bym blokował wszystko użytkownikom IE6 (IMG:style_emoticons/default/tongue.gif)
Detekcja przeglądarki w PHP: get-browser Łatwiejszym rozwiązaniem wg. mnie jest wpisanie warunkowego CSS'a dla IE6 który ustawi wszystkim divom display: none (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
@Zagiewa: Jeżeli zmienna IE==true(po prostu po to wrzucasz funkcję, która zwróci true jeśli IE i false jeżeli nie) to wyczyść całą zawartość <body> i wyświetl to co jest w alercie
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
aart3k - dzięki za funkcję sprawdzającą przeglądarkę, przyda się choć muszę przyznać, że metoda z css wydaje się znacznie ciekawsza (IMG:style_emoticons/default/smile.gif)
kamil4u - już rozumiem, równie dobre rozwiązanie Dzięki wielkie (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 04:51 |