Iphone 如何仅检测是否为iOS设备并重定向?
我现在用它来检测访问者是否安装了flash,如果不是的话,我假设他们是iPhone用户,但现在它似乎并不总是像我希望的那样工作,因为有时他们被重定向到我网站的flash版本,有时安装了flash的人也重定向到iPhone我的网站版本Iphone 如何仅检测是否为iOS设备并重定向?,iphone,flash,redirect,detect,Iphone,Flash,Redirect,Detect,我现在用它来检测访问者是否安装了flash,如果不是的话,我假设他们是iPhone用户,但现在它似乎并不总是像我希望的那样工作,因为有时他们被重定向到我网站的flash版本,有时安装了flash的人也重定向到iPhone我的网站版本 <!DOCTYPE html> <html> <head> <script src="http://www.featureblend.com/flash_detect_1-0-4/flash_detect.
<!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>
如果(!FlashDetect.installed){
window.location=“?flash=false”;
}否则{
window.location=“?flash=true”;
}
问题是,我如何检测它们是否是iPhone/iPad/iPod/AppleTV之类的东西,并将它们重定向到flash=false URL,如果它们不是,则将重定向到flash=true
我试图找到,但真的找不到确切的我在寻找什么
谢谢你们,祝大家圣诞快乐。试着用类似于
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文件,这是我之前写的一篇博客文章
若要添加更多设备,请添加类似的代码
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]
关于如何实现这一点,有很多教程。你可以从这里开始: 简单地说,您可以简单地查找字符串“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";
}
也祝您圣诞快乐:)检查用户代理字符串以识别用户正在使用的设备并相应重定向。您必须检查所有不同的设备,iphone、ipad、ipod、appletv等我在尝试动态加载javascript文件时遇到了类似的问题,仅当用户在IOS/safari上时,我就想到了这一点:
<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>
//移动时包括jquery。
var isIOS=navigator.userAgent.match(/iPad/i)!=null | | navigator.userAgent.match(/iPhone/i)!=无效的
国际单项体育联合会(isIOS){
var script=document.createElement('script');
script.type='text/javascript';
script.src='js/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(脚本);
}
您使用的服务器端语言是什么?如果您使用的是PHP,您也可以使用.htaccess来实现这一点。有什么信息来源我可以看一下吗?我的PHP课程下学期就要开始了,但这是我的网站,我真的很想知道,这样我就可以解决这个问题了////很抱歉打断你,我会在下面的答案中添加这些代码。不,你必须检查每种类型的设备谢谢,这是非常好的信息,但最后一个问题是你提供的两种代码,我如何添加其他设备的更多条件?感谢您的回答,所以我使用| |或&&condition来实现其余设备的条件?检查我的更新答案:它们是专用条件,如果设备是ipod,那么它不能同时是ipad或iphone,因此,您必须使用| |。谢谢。这为我的访客提供了最好的解决方案:D节日快乐!