Как да специален код Напиши браузър с PHP
Значи искате да напишете код, който се появява само за някои браузъри ... Има няколко причини да искате да го направите. За първи път аз лично трябваше да направя това се е случило, когато аз се опитвах да вградите една mp3 на определена страница. По някаква причина не можах да се напише код, така че mp3 ще играят на браузъри да тествам на (IE, Firefox, Opera и), и утвърждава по едно и също време. Ако си спомням правилно, това е Internet Explorer, която е причината за проблема. Решението да дойде с е да използвате малко PHP, за да разберете, когато потребителят е използвал IE, а след това вграждане на mp3 в трети валиден код, ако това е така.
Това решение доведе до mp3 винаги играе правилно и на страницата винаги утвърждава, защото никога не валидатора W3C се идентифицира като IE. Това не може да бъде най-етични начин за достигане до W3C спазване, но тя работи.
Друг път си спомням, които трябва да напишете браузър специален код, е, когато аз бях като има проблем с IE 6 не показвате ми. PNG изображения правилно. Аз Googled наоколо и намерих няколко решения на проблема, но и двамата накрая каша на цялостната места слой на страниците си. Вместо отстраняване на този проблем, аз отидох с бързо решение и реши да се покаже. GIF файлове, когато потребителят трябваше IE 6. Ако потребителят имали друг браузър, който имаше. PNG проблемите си помислих, че е много лошо за него.
Как да го постигнете:
Първо трябва да напиша малко ред код, за да разбера какво браузъра на потребител. Ето как да направите това с PHP:
- 'HTTP_USER_AGENT' ]; $ VisitorsOS = $ _SERVER ['HTTP_USER_AGENT'];
Ето три примера за това, $ visitorsOS може да изглежда като
- Mozilla/4.0 (съвместим; MSIE 6.0; Windows NT 5.1; SV1;. NET CLR 1.0.3705;. NET
- Opera/9.51 (Windows NT 5.1; U; PL)
- Mozilla/5.0 (Windows; U; Windows NT 5.1; EN-САЩ; RV: 1.9) Gecko/2008052906 Firefox
Първият потребител е Internet Explorer 6, Opera 9.51 секунди, а трети Firefox.
Сега, когато знаем повече информация, отколкото ние наистина трябва за компютъра на посетителя Трябва също да поставим тази информация да се използва добросъвестно. Да речем, че искате да напишете код, който ще се появи само ако потребителят работи всяка версия на Internet Explorer. В този случай вие ще направите това:
('MSIE',$visitorsOS)){ ако (eregi ("MSIE", $ visitorsOS)) (
Код, който ще се появи само ако ПОТРЕБИТЕЛЯТ е IE
)
иначе (
Код, който ще се появи в останалите случаи
)
Използвам eregi, нечувствителен към регулярния израз мач, вместо да ereg, една чувствителна редовна среща изразяване. Аз не помня, ако го направя това от параноя, или ако аз действително намерили случаите, когато Internet Explorer се идентифицирани като MSIE. И в двата случая eregi няма да боли нещо, така че е това, което използвате. Желаещи да пишете кода за конкретни версии на IE ще изискват само една малка промяна. вместо ... (eregi ("MSIE" ...) Аз ще използва нещо подобно (eregi ("MSIE 6.0" ...), ако исках код, който само се яви за MSIE 6.0.








































