Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何仅检测是否为iOS设备并重定向?_Iphone_Flash_Redirect_Detect - Fatal编程技术网

Iphone 如何仅检测是否为iOS设备并重定向?

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.

我现在用它来检测访问者是否安装了flash,如果不是的话,我假设他们是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>

如果(!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节日快乐!