2016-04-06 12 views
2

Ich möchte verschiedene HTML für Desktop und Mobile auf Jekyll machen. Ich brauche so etwas wie:Detect User Agent Jekyll

{% if is_mobile %} 
    <!-- mobile html --> 
{% else %} 
    <!-- desktop html --> 
(% endif %} 

Offensichtlich konnte ich nur Javascript in Ihrem Browser verwenden, um dies zu bestimmen, aber ich will nicht die zusätzliche html für Handys machen.

Vielleicht könnte ich ein Jekyll-Plugin erstellen und das Liquid-Tag registrieren, aber wie bekomme ich Zugriff auf den User-Agent? Kann ich trotzdem auf HTTP-Request-Parameter zugreifen?

+0

Jekyll ist ein statischer Site-Generator - so sieht der Benutzer nur die generierten Seiten ohne FrontMatter oder flüssige Vorlagen oder was auch immer - nur die gediente Ausgabe. Sie müssen JavaScript dafür verwenden, da jemand bereits unten beantwortet hat. – michaPau

Antwort

0

Da Sie Jekyll verwenden, schätze ich, dass Sie nicht mit einem Backend arbeiten, das normalerweise ist, wie Sie den User-Agent verarbeiten würden.

Der vielleicht beste Ansatz ist die Verwendung der navigator.userAgent Variable mit plain-old Javascript.

Mehr Infos hier: Getting the User Agent with JavaScript

0

In Ihrem Layout können Sie verwenden:

<div class="mobile">{% include mobile.html %}</div> 
<div class="desktop">{% include desktop.html %}</div> 

Dann sollten Sie lassen js entscheiden, welche zu zeigen, wie Flüssigkeit keinen Zugriff auf den User-Agent hat.