2016-04-06 116 views
2

我想爲jekyll呈現不同的桌面和移動html。我需要這樣的東西:檢測用戶代理jekyll

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

很顯然,我可以只使用JavaScript在瀏覽器中,以確定這一點,但我不希望渲染手機額外的HTML。

也許我可以創建一個jekyll插件並註冊液體標籤,但是如何才能訪問用戶代理?無論如何,我可以訪問HTTP請求參數嗎?

+0

Jekyll是一個靜態網站生成器 - 所以用戶只能看到生成的頁面沒有FrontMatter或液體模板或任何 - 只有服務的輸出。您必須使用JavaScript,因爲有人已經在下面回答了。 – michaPau

回答

0

由於您使用的是Jekyll,我猜你沒有使用後端,這通常是你如何處理用戶代理。

也許你最好的辦法是使用簡單的Javascript訪問navigator.userAgent變量。

此處瞭解詳情:Getting the User Agent with JavaScript

0

在你的佈局,你可以使用:

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

那麼你應該讓JS決定顯示哪一個,因爲液體具有對用戶代理的訪問權限。