zu erkennen, wie browser-Größe mit PHP
Habe ich ein WordPress header.php Seite die wie folgt aussieht...
<?php if( is_home() || is_front_page() ) : ?>
<img src="<?php bloginfo('template_directory'); ?>/images/logo.png" alt="logo"
width="206" height="136" border="0" class="logo" />
<?php else : ?>
<img src="<?php bloginfo('template_directory'); ?>/images/logo_inner.png"
alt="logo" width="187" height="130" border="0" class="logo" />
<?php endif; ?>
so, wenn die aktuelle Seite nicht die home-Seite ein anderes logo verwendet wird.
Ich möchte wissen, ob es möglich ist, fügen Sie einige code, der in der 'if' - Abschnitt zu erkennen, die browser-Größe, denn ich will ein anderes logo auf dem Handy. Ich weiß, Sie können dies tun, mit Jquery z.B.
if ((screen.width<=420)) {
//do something
}
else {
//do something else
}
und ich habe versucht, mit Detect Mobile-Skript - http://detectmobilebrowsers.com/ Hoffnung, ersetzen Sie das logo-aber der php code wird der jQuery-code.
if(jQuery.browser.mobile==true){
jQuery('.logo').attr('src','.../images/mobile_logo.png');
} else {
jQuery('.logo').attr('src','../images/logo.png'); }
- Warum nicht mit Media Queries?
- PHP läuft auf dem server vor die Seite wird an den browser gesendet, so gibt es keine Möglichkeit in der Hölle Sie würde in der Lage sein, um herauszufinden, welche Größe der browser ist vor die Seite ist noch an den browser gesendet.
- oh ja. warum habe ich daran nicht. Danke ich werde das probieren
- ist die richtige. In der Theorie, der browser könnte gehören Bildschirmgröße info in seiner Anfrage, aber es funktioniert nicht. Und in jedem Fall, denn dies ist eine Präsentation die Sorge, CSS ist der richtige Ort, um es anzugehen. Schließlich kann der Benutzer laden Sie Ihre Seite, dann ändern Sie Ihre browser danach. Wenn Sie Griff diese mit CSS, die browser anpassen können, on-the-fly.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht ein problem, das Sie ansprechen sollte server-side sein. Das ist ein CSS Problem. Etwas wie das folgende in deiner stylesheet(s):
Überprüfen dieser Artikel für weitere Informationen über media queries.
Wenn alles, was Sie tun möchten, verwenden Sie ein anderes logo, der css-Ansatz ist wahrscheinlich gut genug.
Jedoch, wenn Sie möchten, um den Einsatz von PHP (oder Java-oder .NET) zu lernen, über die Art des Geräts an den server, so dienen verschiedene markup (oder auch js-oder css-Dateien) auf verschiedene Geräte, dann möchten Sie vielleicht, um einen Blick auf WÜRFL, das Wireless Universal Resource File. Ich habe das Spiel mit ihm ein wenig. Ich glaube nicht, dass es ruft die Bildschirm-Größen oder Ausrichtungen Recht, aber es kann auf jeden Fall erkennen die Geräte die ich habe (iPhone, nexus7 und kindle):
WÜRFL an Sourceforge.net
Wenn Sie möchten, das beste aus beiden Welten, die Sie verwenden können, WÜRFL mit Javascript ein-und ausblenden des Bildes.
Hier ist ein Beispiel:
Dies ist ein cloud-service-angeboten von ScientiaMobile (WÜRFL), das tut serverseitige Erkennung und Rückgabe eines JSON-Objekt mit den Geräte-Informationen. Wenn Sie wollen, mehr für Ihre Dokumentation finden Sie unter http://wurfl.io/.
Wenn es nur die Größe des Bildes, dass Sie darüber besorgt sind, können Sie auch Ihr image resizer, die Größe des Bildes zu besten suite das Gerät laden (je nachdem wie Sie es konfigurieren).
Mit jQuery könnte es Aussehen:
warum nicht die php generieren ein kleines logo/Platzhalter und verwenden Sie dann javascript zum laden einer größeren version je nach browser-Größe. Man könnte sogar so etwas wie lazyload für jQuery (http://www.appelsiini.net/projects/lazyload). Sie können es als erweiterte, wie Sie möchten, wie das hinzufügen eines resize-Erkennung, damit die Leute nicht haben, die Seite neu laden, wenn Sie seine Größe ändern.