2016-06-14 141 views
0

我剛剛買了一個HTML着陸頁和我完全新手有了這一切......着陸頁的NodeJS

有3頁不同的文件夾: /窗/ IOS/Android的

如何我可以使用nodejs和express來顯示登錄頁面嗎? 我的意思是,如果他使用iPhone作爲例子,如何將客戶端重定向到/ ios。

回答

0

@Detuned張貼回答你的問題一些很好的鏈接。

基本上,你想檢查userAgent並根據它們來自哪裏來呈現頁面。

userAgent名稱不正確,或者因爲我還沒有檢查過,但我預計一些類似的不應該是:

app.get('/', function(req, res) { 

    var userAgent = req.headers['user-agent']; 

    if (userAgent.startsWith('Mozilla') || userAgent.startsWith('Chrome') || userAgent.startsWith('Explorer')) { 

     res.render('index_windows', {}) 

    } else if (userAgent.startsWith('iOS')) { 

     res.render('index_ios', {}) 

    } else if (userAgent.startsWith('android')) { 
     res.render('index_android', {}) 
    } 
    else { 
    res.render('index_windows', {}) 
    } 
}); 

這基本上抓住/這就是你的家像www.example.com/這樣的網址,並對標題進行檢查以確定用戶來自哪裏。

+0

好吧,我明白了。但在'userAgent'不匹配Mozilla,iOS或android的情況下? – Thomi

+0

@Thomi抱歉,是的,你只需在末尾添加一個'else',任何不匹配的東西都會渲染你的默認模板,所以'index_windows' – PourMeSomeCode

+0

最後一個問題,'index_windows/android/ios' ?每個索引的路徑?你如何聲明這種類型的靜態變量? – Thomi

0

有兩種方法可以解決這個問題:您可以在客戶端(here)或服務器端(here)檢測瀏覽器/平臺類型。然後,您會將這些信息發送到服務器端,以便您可以根據該信息呈現適當的靜態資產。

對於Node.js的渲染靜態資產,是指here