Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ajax łączy w sobie javascript i php?
Zagiewa
post
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?
Go to the top of the page
+Quote Post
markonix
post
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
Go to the top of the page
+Quote Post
md1988
post
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ść.
Go to the top of the page
+Quote Post
kamil4u
post
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
Go to the top of the page
+Quote Post
Zagiewa
post
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.
Go to the top of the page
+Quote Post
Mephistofeles
post
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?
Go to the top of the page
+Quote Post
aart3k
post
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)
Go to the top of the page
+Quote Post
kamil4u
post
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
Go to the top of the page
+Quote Post
Zagiewa
post
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)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 04:51