So ändern Sie Webinhalte basierend auf dem Betriebssystem [duplicate]

Lesezeit: 4 Minuten

Ich entwerfe eine WordPress-Website für mobile Anwendungen. Für den Besucher möchte ich Text und Bilder basierend auf dem Betriebssystem wie auf der folgenden Seite anzeigen –

https://www.sapphireone.com/accounting-software/accounts/

Auf dieser Seite befindet sich im Abschnitt „Kontostruktur“ ein Bild, das sich je nach Betriebssystem ändert, dh Mac und Windows.

Ich möchte ähnliches für Android und iPhone tun. Ich verwende den folgenden Code, aber er funktioniert nicht.

//Code für function.php

function find_andoird() {
$ua = $_SERVER[‘HTTPS_USER_AGENT’];

 /*    ====    Detect the OS    ====    */

 // Android
    $android        = strpos($ua, 'Android') ? true : false;

 // iPhone
   $iphone        = strpos($ua, 'iPhone') ? true : false;

  return $android;

 }

//Code für Vorlagendatei

if(find_andoird() == true) { 

<p><strong>Android View</strong></p>
<p>
<img src=“accounting-android.png”  style="float:left;width:400px;height:600px;">
The android view is displayed here.  
</p>
}  

else { 

<p><strong>iPhone View</strong></p>
<p>
<img src=“accounting-iphone.png” style="float:left;width:400px;height:600px;">
The iphone view is displayed here.  
</p>
}

}

Kann ich bitte etwas Hilfe bekommen. Vielen Dank

  • Ändern Sie die Funktion so, dass sie den Wert $ua zurückgibt, und geben Sie diesen aus, um die Zeichenfolge zu sehen, mit der sich die Funktion befasst.

    – Prahlerei

    25. November 2016 um 4:20 Uhr

  • zuerst ist es HTTP_USER_AGENT und die Anführungszeichen drumherum falsch sind, sollten einfache Anführungszeichen sein

    – bansi

    25. November 2016 um 4:23 Uhr

  • der erste Link für die Suche HTTPS_USER_AGENT ist So geben Sie der Seite einen anderen Titel zurück, wenn sie auf einem Android-Mobiltelefon geöffnet wird

    – bansi

    25. November 2016 um 4:26 Uhr

  • Hallo bansi, ich habe auf $ua = $_SERVER umgestellt[‘HTTP_USER_AGENT’]; es funktioniert trotzdem nicht

    – Anis Rabbiner

    25. November 2016 um 4:32 Uhr

  • Hallo Flauntster, kannst du mir bitte helfen, wie man das macht? Da es in WordPress ist, bin ich etwas verwirrt.

    – Anis Rabbiner

    25. November 2016 um 4:34 Uhr

Diese Funktion könnte helfen.

<?php

$user_agent     =   $_SERVER['HTTP_USER_AGENT'];

function getOS() { 

    global $user_agent;

    $os_platform    =   "Unknown OS Platform";

    $os_array       =   array(
                            '/windows nt 6.2/i'     =>  'Windows 8',
                            '/windows nt 6.1/i'     =>  'Windows 7',
                            '/windows nt 6.0/i'     =>  'Windows Vista',
                            '/windows nt 5.2/i'     =>  'Windows Server 2003/XP x64',
                            '/windows nt 5.1/i'     =>  'Windows XP',
                            '/windows xp/i'         =>  'Windows XP',
                            '/windows nt 5.0/i'     =>  'Windows 2000',
                            '/windows me/i'         =>  'Windows ME',
                            '/win98/i'              =>  'Windows 98',
                            '/win95/i'              =>  'Windows 95',
                            '/win16/i'              =>  'Windows 3.11',
                            '/macintosh|mac os x/i' =>  'Mac OS X',
                            '/mac_powerpc/i'        =>  'Mac OS 9',
                            '/linux/i'              =>  'Linux',
                            '/ubuntu/i'             =>  'Ubuntu',
                            '/iphone/i'             =>  'iPhone',
                            '/ipod/i'               =>  'iPod',
                            '/ipad/i'               =>  'iPad',
                            '/android/i'            =>  'Android',
                            '/blackberry/i'         =>  'BlackBerry',
                            '/webos/i'              =>  'Mobile'
                        );

    foreach ($os_array as $regex => $value) { 

        if (preg_match($regex, $user_agent)) {
            $os_platform    =   $value;
        }

    }   

    return $os_platform;

}

function getBrowser() {

    global $user_agent;

    $browser        =   "Unknown Browser";

    $browser_array  =   array(
                            '/msie/i'       =>  'Internet Explorer',
                            '/firefox/i'    =>  'Firefox',
                            '/safari/i'     =>  'Safari',
                            '/chrome/i'     =>  'Chrome',
                            '/opera/i'      =>  'Opera',
                            '/netscape/i'   =>  'Netscape',
                            '/maxthon/i'    =>  'Maxthon',
                            '/konqueror/i'  =>  'Konqueror',
                            '/mobile/i'     =>  'Handheld Browser'
                        );

    foreach ($browser_array as $regex => $value) { 

        if (preg_match($regex, $user_agent)) {
            $browser    =   $value;
        }

    }

    return $browser;

}


$user_os        =   getOS();
$user_browser   =   getBrowser();

$device_details =   "<strong>Browser: </strong>".$user_browser."<br /><strong>Operating System: </strong>".$user_os."";

print_r($device_details);

echo("<br /><br /><br />".$_SERVER['HTTP_USER_AGENT']."");

?>

  • Ich habe das noch nicht herausgefunden, wie man das in WordPress macht, aber es funktioniert gut in einem normalen PHP-Skript. Möglicherweise mache ich in der Datei function.php oder in der Vorlagendatei etwas falsch.

    – Anis Rabbiner

    25. November 2016 um 23:02 Uhr

Es gibt eine modernizr-Erweiterung namens detectizr (https://cdnjs.com/libraries/detectizr, müssen Sie modernizr an die erste Stelle setzen). Es wird Ihnen das Tag os, version, browser, device … geben. Dann können Sie CSS verwenden, um beispielsweise Folgendes anzuzeigen:

/* Hide image with class-a by default */
img.class-a {
    display: block;
}

/* showing it in windows 10 only */
.windows.windows10 img.class-a {
    display: block;
}

1187600cookie-checkSo ändern Sie Webinhalte basierend auf dem Betriebssystem [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy