手机端访问PC端自动跳转到手机站

方法一:

<script type="text/javascript">
try {
var urlhash = window.location.hash;
if (!urlhash.match("fromapp"))
{
if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))
{
window.location="http://m.your-website.com/"; //这里的网址请改为你手机站的网址
}
}
}
catch(err)
{
}
</script>

方法二:

<script type="text/javascript">
// JavaScript Document
function urlredirect() {
    var sUserAgent = navigator.userAgent.toLowerCase(); 
    if ((sUserAgent.match(/(ipod|iphone os|midp|ucweb|android|windows ce|windows mobile)/i))) {
        // PC跳转移动端
        var thisUrl = window.location.href;
        window.location.href = thisUrl.substr(0,thisUrl.lastIndexOf('/')+1)+'mobile/';
         
    }
}
urlredirect();
</script>

方法三:

利用百度Site App代码判断手机访问:

<script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script>
<script type="text/javascript">uaredirect("m.your-website.com");</script>​

PS:直接用上面的方法,貌似网页会有一点问题,我建议把代码调整一下,直接把百度的那个JS文件里的代码拿出来。整理后的代码如下:

<script language="JavaScript">
	function uaredirect(f) {
	    try {
	        if (document.getElementById("bdmark") != null) { return }
	        var b = false;
	        if (arguments[1]) {
	            var e = window.location.host;
	            var a = window.location.href;
	            if (isSubdomain(arguments[1], e) == 1) {
	                f = f + "/#m/" + a;
	                b = true
	            } else {
	                if (isSubdomain(arguments[1], e) == 2) {
	                    f = f + "/#m/" + a;
	                    b = true
	                } else {
	                    f = a;
	                    b = false
	                }
	            }
	        } else { b = true }
	        if (b) { var c = window.location.hash; if (!c.match("fromapp")) { if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i))) { location.replace(f) } } }
	    } catch (d) {}
	}
	function isSubdomain(c, d) { this.getdomain = function(f) { var e = f.indexOf("://"); if (e > 0) { var h = f.substr(e + 3) } else { var h = f } var g = /^www\./; if (g.test(h)) { h = h.substr(4) } return h }; if (c == d) { return 1 } else { var c = this.getdomain(c); var b = this.getdomain(d); if (c == b) { return 1 } else { c = c.replace(".", "\\."); var a = new RegExp("\\." + c + "$"); if (b.match(a)) { return 2 } else { return 0 } } } };
	uaredirect("m.your-website.com");
</script>

方法四:

<script language="JavaScript">
function mobile_device_detect(url) {
    var thisOS = navigator.platform;
    var os = new Array("iPhone", "iPod", "iPad", "android", "Nokia", "SymbianOS", "Symbian", "Windows Phone", "Phone", "Linux armv71", "MAUI", "UNTRUSTED/1.0", "Windows CE", "BlackBerry", "IEMobile");
    for (var i = 0; i < os.length; i++) {
        if (thisOS.match(os[i])) {
            window.location = url;
        }

    }
    //因为相当部分的手机系统不知道信息,这里是做临时性特殊辨认
    if (navigator.platform.indexOf('iPad') != -1) {
        window.location = url;
    }
    //做这一部分是因为Android手机的内核也是Linux
    //但是navigator.platform显示信息不尽相同情况繁多,因此从浏览器下手,即用navigator.appVersion信息做判断
    var check = navigator.appVersion;
    if (check.match(/linux/i)) {
        //X11是UC浏览器的平台 ,如果有其他特殊浏览器也可以附加上条件
        if (check.match(/mobile/i) || check.match(/X11/i)) {
            window.location = url;
        }
    }
    //类in_array函数
    Array.prototype.in_array = function(e) {
        for (i = 0; i < this.length; i++) {
            if (this[i] == e)
                return true;
        }
        return false;
    }
}
mobile_device_detect("http://m.your-website.com");
</script>

猜你喜欢

转载自blog.csdn.net/qq331300729/article/details/87889372