我目前正在使用它来检测访问者是否安装了闪存,如果没有立即我假设他们是iPhone用户但是现在它似乎并不总是像我希望的那样工作,因为有时他们被重定向到我的网站的Flash版本,有时安装了Flash的人也重定向到我的网站的iPhone版本
<!DOCTYPE html>
<html>
<head>
<script src="http://www.featureblend.com/flash_detect_1-0-4/flash_detect.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(!FlashDetect.installed){
window.location = "?flash=false";
}else{
window.location = "?flash=true";
}
</script>
</head>
问题是我如何检测它们是否是iPhone / iPad / iPod / AppleTV之类的东西并将它们重定向到flash = false URL并且如果它们不是上述内容将重定向到flash = true?
我试图找到,但实际上找不到我正在寻找的确切内容
谢谢你和Merry X'Mas给你们所有人。
答案 0 :(得分:8)
有很多关于如何实现这一目标的教程。你可以从这里开始: http://www.hand-interactive.com/resources/detect-mobile-javascript.htm
简单地说,您可以使用与此类似的代码在用户代理字符串中查找字符串“iphone”,“ipod”,“ipad”等...:
var uagent = navigator.userAgent.toLowerCase();
if (uagent.search("iphone") > -1 ||
uagent.search("ipod") > -1 ||
uagent.search("ipad") > -1 ||
uagent.search("appletv") > -1) {
window.location = "?flash=false";
} else {
window.location = "?flash=true";
}
祝你圣诞快乐:)
答案 1 :(得分:3)
尝试使用与
类似的内容var agent=navigator.userAgent.toLowerCase();
var is_iphone = ((agent.indexOf('iphone')!=-1);
if (is_iphone) { conditional code goes here }
更新:您还可以使用.htaccess文件重定向用户。此htaccess规则将检查用户是否使用iPhone,如果是,则重定向到子域'iphone'
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule .* http://iphone.mydomain.com/ [R]
如果您不知道如何使用.htaccess文件here是我之前写过的关于它的博客文章。
要添加更多设备,请添加类似的代码 JavaScript的:
var agent=navigator.userAgent.toLowerCase();
var is_iphone = ((agent.indexOf('iphone')!=-1);
var is_ipad = ((agent.indexOf('ipad')!=-1);
if (is_iphone || ipad) { conditional code goes here }
的.htaccess
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{HTTP_USER_AGENT} iPad
RewriteRule .* http://ios.mydomain.com/ [R]
答案 2 :(得分:2)
我有一个类似的问题,只有当用户在IOS / safari上时才尝试动态加载javascript文件,这就是我提出的:
<script>
//include jquery when mobile.
var isIOS = navigator.userAgent.match(/iPad/i) != null || navigator.userAgent.match(/iPhone/i) != null;
if(isIOS){
var script = document.createElement('script');
script.type='text/javascript';
script.src = 'js/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
答案 3 :(得分:1)
检查User-Agent字符串以识别用户正在使用的设备并相应地重定向。您将需要检查所有不同的设备,iPhone,ipad,ipod,appletv等