如果不在移动设备上浏览,则重定向到基于Web的URL

时间:2012-11-17 20:26:43

标签: html mobile web hyperlink native

我正在寻找一个代码/链接,如果在安装了该应用的移动设备上浏览,则会启动原生IOS应用,但如果没有移动设备或应用(Facebook,youtube),则会重定向回基于网络的网址等等..)没有安装。我可以通过fb:// action /启动本机应用程序,但如果未安装fb应用程序,我无法弄清楚如何将其重定向回基于Web的页面。我不是任何一个想象力的程序员,但我已经读了好几天,学到了很多东西!对此有任何见解对我来说意义重大。

1 个答案:

答案 0 :(得分:1)

你不会在那里找到一些编程 - 你应该阅读php,这是一种服务器端脚本语言,你可以用它做很多简洁的事情,比如找出浏览设备是否可以移动和做依赖于此的东西,比如重定向,这就是你需要的东西。

我曾经在网上找到过什么。我调整了它,以满足您的需求。评论应该解释一切。

<?php
    // Get the user agent
$user_agent = $_SERVER['HTTP_USER_AGENT'];

// Create an array of known mobile user agents
// Most mobile devices send a pretty standard string that can be covered by
// one of these.  I believe I have found all the agents (as of the date above)
// that do not and have included them below.  If you use this function, you 
// should periodically check your list against the WURFL file, available at:
// http://wurfl.sourceforge.net/


$mobile_agents = Array(
    "240x320", "acer", "acoon", "acs-", "abacho", "ahong", "airness", "alcatel", "amoi",     "android", "anywhereyougo.com", "applewebkit/525", "applewebkit/532", "asus", "audio", "au-mic", "avantogo", "becker", "benq", "bilbo", "bird", "blackberry", "blazer", "bleu", "cdm-", "compal", "coolpad", "danger", "dbtel", "dopod", "elaine", "eric", "etouch", "fly " , "fly_", "fly-", "go.web", "goodaccess", "gradiente", "grundig", "haier", "hedy", "hitachi", "htc", "huawei", "hutchison", "inno", "ipad", "ipaq", "ipod", "jbrowser", "kddi", "kgt", "kwc", "lenovo", "lg ", "lg2", "lg3", "lg4", "lg5", "lg7", "lg8", "lg9", "lg-", "lge-", "lge9", "longcos", "maemo", "mercator", "meridian", "micromax", "midp", "mini", "mitsu", "mmm", "mmp", "mobi", "mot-", "moto", "nec-", "netfront", "newgen", "nexian", "nf-browser", "nintendo", "nitro", "nokia", "nook", "novarra", "obigo", "palm", "panasonic", "pantech", "philips", "phone", "pg-", "playstation", "pocket", "pt-", "qc-", "qtek", "rover", "sagem", "sama", "samu", "sanyo", "samsung", "sch-", "scooter", "sec-", "sendo", "sgh-", "sharp", "siemens", "sie-", "softbank", "sony", "spice", "sprint", "spv", "symbian", "tablet", "talkabout", "tcl-", "teleca", "telit", "tianyu", "tim-", "toshiba", "tsm", "up.browser", "utec", "utstar", "verykool", "virgin", "vk-", "voda", "voxtel", "vx", "wap", "wellco", "wig browser", "wii", "windows ce", "wireless", "xda", "xde", "zte"
);

// Pre-set $is_mobile to false.

$is_mobile = false;

// Cycle through the list in $mobile_agents to see if any of them
// appear in $user_agent.

foreach ($mobile_agents as $device) {

    // Check each element in $mobile_agents to see if it appears in
    // $user_agent.  If it does, set $is_mobile to true.

    if (stristr($user_agent, $device)) {

        $is_mobile = true;

        // break out of the foreach, we don't need to test
        // any more once we get a true value.

        break;
    }
}
//check whether mobile is true, and if so, redirect to mobile page
if($is_mobile){
    header("Location:http://www.mobilepage.com"); //replace domain
    exit;
}else{
    header("Location:http://www.notmobilepage.com"); //replace domain
    exit;
}
?>

另请参阅this,其中显示了不同的替代方案。