题
我有一个网页,我最近被要求为它创建移动版本,现在我已经完成了我被要求进行自动重定向,以便用户通过PDA / iPhone进入网页/智能手机/等他/她自动被定向到m.website.com但我不知道怎么做= /我已经尝试了一些我发现使用谷歌的PHP和javascripts但到目前为止没有任何帮助我。你们俩好吗?
解决方案
查看WURFL并为与其移动浏览器用户代理字符串列表匹配的用户代理构建302重定向器。
或者,只需在User-Agent中查找iPhone并将其重定向到您的iPhone站点即可。其他浏览器命令这么小的市场份额,几乎不值得瞄准它们。 iPhone占移动网络HTML流量的67%。您可以在网页上的Javascript中执行此操作。
其他提示
我已经发布了最新版本的“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
我写了一个名为“ redirection_mobile.js ”的JS脚本。解决这个问题。如果您从移动设备访问网站,它会检测用户代理并重定向到移动版本。
在某些情况下,您希望从移动设备重定向到桌面版本(例如使用链接“转到主站点”),脚本将处理该问题,一旦您完成会话,您将访问再次移动版本。
您可以在github上找到源代码 https://github.com/sebarmeli/JS-Redirection-Mobile-Site ,您可以在我的文章中阅读更多详细信息:
如果您列出的代码无效,可能会提供更多帮助。
如果你有php,用户代理检测在大多数情况下效果很好。
< ?php
$browser = strpos(如果您列出的代码无效,可能会提供更多帮助。
如果你有php,用户代理检测在大多数情况下效果很好。
<*>
此外,这看起来像是一个骗子:
识别不同的手机并重定向到不同的网站
SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser == true) { header(”Location: http://www.example.com/“); }
}
?>
此外,这看起来像是一个骗子: 识别不同的手机并重定向到不同的网站
在这里提出并回答了一个非常相似的问题:
传统的移动设备已经存在 通过比较HTTP检测到 针对列表的User-Agent标头 众所周知的移动UA字符串。一本小说 而不是尝试检测 存在桌面操作系统 - 任何东西 发现它不是桌面操作系统 然后必须是移动的。
这导致错误少得多 阳性。
我写了一篇包含示例代码的帖子 在Python中:
检测设备是否为台式机 - 如果不是,则重定向到您的移动网站!
干杯,
约翰
完成移动子域设置后,请务必参阅 A List Apart 中的这篇文章,其中介绍了移动设备如何对CSS属性做出反应,media =“掌上电脑”。不幸的是,并非所有人都做出同样的反应。
http://www.alistapart.com/articles/returnofthemobilestylesheet
“Apache移动过滤器”是“Apache模块注册表”的模块之一。门户网站( http://modules.apache.org/search.php?id=1787 )
我使用 http://detectmobilebrowser.com ,发现这是最快捷,最简单的方法。它运作得很好。该站点自动生成服务器脚本(php,perl,python,coldfusion,apache,jquery等),检测移动浏览器并相应地重定向。您只需将代码复制并粘贴到索引文件中的某个位置即可。
这一点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正文的开头。