2010-01-11 78 views
4

我被客戶要求爲iphone用戶設置登陸頁面。 頁面已經存在 - 非常簡單,只有幾張圖片和文字。 我需要: - 確保它的iphone兼容(任何特殊的標籤或定義?) - 確保谷歌手機搜索索引它作爲一個移動頁面 - 在主頁(不同頁面,所有用戶)重新直接iphone用戶到特殊的登陸頁面,如果我檢測到正在通過iphone瀏覽。製作網站iphone兼容

我意識到我在問很多。任何幫助,如鏈接到你認爲有用的教程,將不勝感激。

祝您有愉快的一天。

回答

0

最好的辦法是在您的應用程序控制器中設置一個用於檢查iPhone Mime類型的before_filter。轉到配置/初始化/ mime_types.rb和加入這一行

Mime::Type.register_alias "text/html", :iphone 

這裏是獲取在我的ApplicationController過濾器之前調用的方法。

def mobile_user_agent? 
    agent = request.env['HTTP_USER_AGENT'] 
    return false if !agent 
    return :iphone if agent[/(Mobile\/.+Safari)/] 
    return :iemobile if agent[/IEMobile/] 
    return :blackberry_4_3 if agent[/BlackBerry.*4.3.0/] 
    return :blackberry_4_7 if agent[/BlackBerry.*4.7.0/] 
    return :android if agent[/Android/] 
    return false 
end 

然後在您的控制器中,您可以在控制器中執行以下操作。

def index 
    @posts = Post.find(:all) 
    respond_to do |format| 
    format.html # index.html.erb 
    format.xml { render :xml => @posts } 
    format.iphone # render index.html.iphone 
    end 
end 

這可以讓你渲染iPhone的特定視圖。你可以爲所有類型的手機,Android,黑莓,Windows Mobile等等做同樣的事情......

我不能把這一切都歸功於:) Mike Clark和Pragmatic Programmers提供了像這在Advanced Rails Recipes

我唯一的建議是,如果你在你的應用程序中做了很多不同的iPhone的東西,然後建立一個名爲IPhoneViewController的獨立控制器或處理所有iPhone的東西。

祝你好運!如果你有什麼事讓我知道,

肯特

+0

這是一個Ruby on Rails解決方案嗎? @samoyed並沒有說他們使用的服務器端語言。 – 2010-01-11 14:44:36

+0

哈哈是啊,這是如此的真實:我只是假設......你可以在Ramaze,Sinatra,Camping等中做類似的事情......但如果它是直接的紅寶石,那麼是的,你需要建立很多。 – ewakened 2010-01-11 15:23:13