我有一个网页,我最近被要求为它创建移动版本,现在我已经完成了我被要求进行自动重定向,以便用户通过PDA / iPhone进入网页/智能手机/等他/她自动被定向到m.website.com但我不知道怎么做= /我已经尝试了一些我发现使用谷歌的PHP和javascripts但到目前为止没有任何帮助我。你们俩好吗?
答案 0 :(得分:3)
查看WURFL并为与其移动浏览器用户代理字符串列表匹配的用户代理构建302重定向器。
或者,只需在User-Agent中查找iPhone并将其重定向到您的iPhone站点即可。其他浏览器命令这么小的市场份额,几乎不值得瞄准它们。 iPhone占移动网络HTML流量的67%。您可以在网页上的Javascript中执行此操作。
答案 1 :(得分:2)
我已经发布了最新版本的“Apache Mobile Filter”,这个开源项目在前8个月内有来自sourceforge的超过1100次下载,我想CPAN也是如此。
Apache Mobile Filter允许您从任何编程语言访问WURFL,而不仅仅是传统上用于动态移动网站的Java和PHP。
模块检测移动设备并将WURFL功能作为环境变量传递给其他Web应用程序。它还可以用于动态调整图像大小以适应移动设备的屏幕大小。 试一试,让我知道你的意见。
了解更多信息:http://www.idelfuschini.it/it/apache-mobile-filter-v2x.html
答案 2 :(得分:2)
我写了一个名为“ redirection_mobile.js ”的JS脚本来解决这个问题。如果您从移动设备访问网站,它会检测用户代理并重定向到移动版本。
在某些情况下,您想要从移动设备重定向到桌面版本(例如链接“转到主站点”),脚本将处理该问题,一旦您完成会话,您将访问再次移动版。
您可以在github上找到源代码 https://github.com/sebarmeli/JS-Redirection-Mobile-Site ,您可以在我的文章中阅读更多详细信息:< / p>
答案 3 :(得分:1)
如果您列出的代码无效,可能会提供更多帮助。
如果你有php,用户代理检测在大多数情况下效果很好。
< ?php
$browser = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser == true) { header(”Location: http://www.example.com/“); }
}
?>
此外,这看起来像是一个骗子: Identifying different mobile handsets and redirecting to different websites
答案 4 :(得分:0)
在这里提出并回答了一个非常相似的问题:
How do I determine whether it's a mobile device with PHP?
传统的移动设备已经存在 通过比较HTTP检测到 针对列表的User-Agent标头 众所周知的移动UA字符串。一本小说 而不是尝试检测 存在桌面操作系统 - 任何东西 发现它不是桌面操作系统 然后必须是移动的。
这导致错误少得多 阳性。
我写了一篇包含示例代码的帖子 在Python中:
检测设备是否为台式机 - 如果不是,则重定向到您的移动网站!
干杯,
约翰
答案 5 :(得分:0)
完成移动子域设置后,请务必参阅 A List Apart 中的这篇文章,其中介绍了移动设备如何对CSS属性做出反应,media =“掌上电脑”。不幸的是,并非所有人都做出同样的反应。
http://www.alistapart.com/articles/returnofthemobilestylesheet
答案 6 :(得分:0)
“Apache Mobile Filter”是“Apache Module Registry”门户(http://modules.apache.org/search.php?id=1787)的模块之一
答案 7 :(得分:0)
我使用http://detectmobilebrowser.com,发现它是最快捷,最简单的方法。它运作得很好。该站点自动生成服务器脚本(php,perl,python,coldfusion,apache,jquery等),检测移动浏览器并相应地重定向。您只需将代码复制并粘贴到索引文件中的某个位置即可。
答案 8 :(得分:0)
这一点Javascript也可以提供帮助:
<script>
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB10|IEMobile|Opera Mini/i.test(navigator.userAgent) ) //Specify the mobile devices that you would like this if statement to apply to.
{
image_y = document.getElementById('bodyID'); //Get the ID of the body and assign it to a variable.
image_y.parentNode.removeChild(image_y); //Remove the body to prevent anything loading on the screen in case there are issues with the window location redirect.
window.location = "mobile.html"; //Re-assign the window location to a new html page that is caters for the redirect.
}
</script>
我把它放在HTML正文的开头。