2017-10-30 5 views
0

Ich muss User-Agent-Wert in Front-End übergeben.Benutzer-Agent-Wert wird abgerufen. Serverseite vs Clientseite?

Ich kann diesen Wert mit $_SERVER['HTTP_USER_AGENT'] und schreiben Sie es in Front-End. (Eigentlich will ich Mage::helper('core/http')->getHttpUserAgent() werden, aber ich denke, es ist nur ein magento Helfer oben genannten Funktion aufzurufen.)

Oder kann ich navigator.userAgent mit js auf Client-Seite bekommen verwenden.

Was besser und warum? Mein Hauptanliegen ist Geschwindigkeit.

p.s. Ich verstehe, dass UA leicht manipuliert werden kann. Wir verwenden keine ernsthafte Funktionalität auf den Wert, es wird als sekundärer Parameter verwendet.

+0

Wenn Sie es an das Frontend weitergeben und es vom Frontend bekommen können, warum sollte der Server überhaupt benutzt werden? – Devon

+0

Aus der SO Close Reasons - * "Viele gute Fragen erzeugen ein gewisses Maß an Meinungen aufgrund von Expertenerfahrungen, aber die Antworten auf diese Frage basieren eher auf Meinungen als auf Fakten, Referenzen oder spezifischen Fachkenntnissen." * You Vielleicht möchten Sie ein Entwicklungsforum finden (vielleicht [quora] (http://www.quora.com/Computer-Programming)?), um allgemeine Informationen zu erarbeiten. Dann, wenn Sie spezielle Codierprobleme haben, kommen Sie zurück zu StackOverflow und wir helfen Ihnen gerne weiter. –

Antwort

1

Ich würde persönlich navigator.userAgent verwenden. Vor allem, weil die Weitergabe von PHP-Werten an JavaScript meiner Meinung nach ziemlich hässlich ist. Außerdem wird der Wert für beide genau gleich sein. Auch wenn sich jemand dazu entschließt, seinen Useragent zu bearbeiten.

Ich denke, Einfachheit nimmt hier den Kuchen.

0

Die Leistung hängt vom Zweck ab. Wenn Sie dies innerhalb von PHP benötigen, verwenden Sie die Servervariable mit dem oben erwähnten Hilfsgetter. Für js verwenden Sie das Navigator-Objekt.

Im Allgemeinen sind sowohl "navigator.userAgent" als auch "HTTP_USER_AGENT" Variablen des Anforderungsheaders und sind beide bereits im Speicher vorhanden (im Fall von js im Server- oder Benutzerbrowser). Es ist also kein messbarer Leistungsunterschied möglich.

Verwandte Themen