2012-12-20 83 views
0

我的網頁在移動設備和Apple設備上無法正確呈現,並且我爲它們製作了替代版本。我怎樣才能,最好只使用html,讓這些設備在訪問主設備時加載備用版本?針對iPad,iPhone和Android的重定向

回答

3

如果您有權訪問站點的邏輯端(php/javascript),則可以實施檢查以查看瀏覽器在其請求中發送的用戶代理字符串,包含「iPhone」,「iPad」或「機器人」。接下來,您可以使用「位置」響應標題重定向到其他頁面。例如:

的JavaScript:

if(navigator.userAgent.match(/iPhone/i)) { 
    window.location = "http://address.to.your.mobile.site/"; 
} 

PHP:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false) { 
    header('Location: http://address.to.your.mobile.site/'); 
} 

我更喜歡PHP的解決方案: 瀏覽器發送到Web服務器的請求。網絡服務器將看到用戶代理是移動設備並重定向到正確的頁面。 由於JavaScript解決方案將請求網頁,接收它,加載JavaScript並向Web服務器發送新請求。 (我相信發生這種情況,如果我錯了,請糾正我)

另外,正如您在評論中提到的,並非每個用戶都在其瀏覽器中啓用了JavaScript。

+0

儘管這個cuold可能工作,但我擔心,禁用JavaScript的用戶可能會有問題。因此,希望在純html中做到這一點,就像使用鏈接標籤 – Variax

+0

我已經詳細闡述了我的答案和可能的PHP解決方案。我認爲不可能通過僅使用HTML來達到預期的效果。 – Ruben

+0

我剛剛實施了一些變化,並完美地工作。謝謝! – Variax