在完整网站中查看移动网站链接

时间:2011-06-22 19:55:28

标签: javascript mobile mobile-safari

虽然我有一个成功的方法将用户从我们的移动网站带到我们的完整网站,但我需要帮助他们从完整的网站回到移动网站。

我正在尝试使用CSS和Javscript编写的HTML(下面)的组合,它使用服务器端检测。基本上,检测确定用户是否在智能手机上,如果是,则写入横幅HTML。 It should look like this,但不幸的是,这不起作用。 PHP不是一个选项。

我的问题是,我怎样才能让“View Mobile”横幅只出现在智能手机上(例如iPhone和Android)?

Here's my page和代码:

<meta name="viewport" content="width=device-width, user-scalable=yes" /> 
<link rel="stylesheet" type="text/css" href="css/mobile.css" media="only screen and (max-width: 640px)" />

...

<body> 
<script type="text/javascript">
<!--
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
device_class = readCookie('COOKIE_DEVICE_CLASS');
if (device_class == 'smart') {
document.write('<div id="view-mobile"><a href="http://m.stanford.edu/">View Stanford Mobile</a></div>');
}
// -->
</script>

3 个答案:

答案 0 :(得分:2)

您的Cookie未设置。我访问了stanford.edu和m.stanford.edu,我没有得到COOKIE_DEVICE_CLASS cookie。如果cookie已创建并包含“智能”,则代码将起作用。

答案 1 :(得分:1)

这可能有效:

var userAgent= navigator.userAgent.toLowerCase();

if (!!/iphone/.test(userAgent) || !!/android/.test(userAgent)) {
    // write banner
}

答案 2 :(得分:0)

在您的移动网站上创建htaccess,然后添加此代码。

RewriteCond %{HTTP_COOKIE} !FULLSITE=yes
### Your current conditions...
RewriteRule (.*) http://your URL_mobile_add? [R,L]