0

我的网页无法在移动设备和 Apple 设备上正确呈现,我为它们制作了一个替代版本。我怎样才能(最好仅使用 html)使这些设备在访问主要设备时加载备用版本?

4

1 回答 1

4

如果您有权访问网站的逻辑部分(php/javascript),则可以执行检查以查看浏览器在其请求中发送的用户代理字符串是否包含“iPhone”、“iPad”或“Android”。接下来,您可以使用“位置”响应标头重定向到此其他页面。例如:

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 解决方案:浏览器向网络服务器发送请求。网络服务器将看到用户代理是移动设备并重定向到正确的页面。JavaScript 解决方案将请求网页、接收网页、加载 JavaScript 并向网络服务器发送新请求。(我相信它会发生这样的事情,如果我错了,请纠正我)

另外,正如您在评论中提到的,并非每个用户的浏览器都启用了 JavaScript。

于 2012-12-20T10:34:36.863 回答