首页新闻招聘找找看知识库

如何让网站在手机搜索的时候,进入手机页面,在pc端搜索时进入手机页面?在线等。

0
悬赏园豆:10 [待解决问题]

如何让网站在手机搜索的时候,进入手机页面,在PC端搜索时进入PC页面

耐寂寞守繁华的主页 耐寂寞守繁华 | 初学一级 | 园豆:188
提问于:2017-07-17 17:16

问题补充:

我的移动端文件是在PC端文件主机里的一个文件夹内

< >
分享
所有回答(3)
0

用js判断是手机浏览器访问还是pc浏览器访问 http://www.cnblogs.com/yuzhongwusan/archive/2012/09/03/2669022.html

<script type="text/javascript">
/*
* 智能机浏览器版本信息:
*
*/
  var browser={
    versions:function(){
           var u = navigator.userAgent, app = navigator.appVersion;
           return {//移动终端浏览器版本信息
                trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
            };
         }(),
         language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
document.writeln("语言版本: "+browser.language);
document.writeln(" 是否为移动终端: "+browser.versions.mobile);
document.writeln(" ios终端: "+browser.versions.ios);
document.writeln(" android终端: "+browser.versions.android);
document.writeln(" 是否为iPhone: "+browser.versions.iPhone);
document.writeln(" 是否iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
 
</script>


下面简化的:
var yousite="m.snail.blue";//这里改为您的手机站访问地址不用带http://  
var url=window.document.location.pathname;  
var site="http://"+yousite+url;  
//平台、设备和操作系统    
var system ={    
    win : false,    
    mac : false,    
    xll : false    
};    
//检测平台   
var p = navigator.platform;      
system.win = p.indexOf("Win") == 0;    
system.mac = p.indexOf("Mac") == 0;    
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);    
//跳转语句  
if(system.win||system.mac||system.xll)  
{}  
else{  
    window.location.href=site; 

 

抽象ID | 园豆:9061 (大侠五级) | 2017-07-17 17:18

我的移动端文件是在PC端文件主机里的一个文件夹内    PC端首页和移动端首页都要加吗?

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-17 17:22

@耐寂寞守繁华: 只需要入口判断就行了

抽象ID | 园豆:9061 (大侠五级) | 2017-07-17 17:23

@耐寂寞守繁华: 入口判断了再决定跳转 PC端首页还是 移动端首页 

抽象ID | 园豆:9061 (大侠五级) | 2017-07-17 17:24

@抽象ID: 那要放在那个文件里?

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-18 08:25

@抽象ID: 除了js判断还有什么方法可以?

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-19 09:47
-1

可以考虑用媒体查询

与阳光握手言和 | 园豆:568 (小虾三级) | 2017-07-17 19:03

怎么用媒体?

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-18 08:25

@耐寂寞守繁华: 说错了,不着意思,可以根据js判断:

function goPAGE() {
    if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
        window.location.href="你的手机版地址";
}
    else {
        window.location.href="你的电脑版地址";    }
}
goPAGE();
与阳光握手言和 | 园豆:568 (小虾三级) | 2017-07-18 09:42

@与阳光握手言和: 那我想知道这端带代码放哪里?   PC端和移动端首页都放   还是放别的地方

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-18 09:44

@耐寂寞守繁华: 如果嫌麻烦也可以自己写一个js获取屏幕宽,根据自己设定的值进行相应跳转。按理说在入口寄一个判断就可以了,但是为了防止用户直接用网址访问,最好分别添加

pc端放这个:

function goPAGE() {
    if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
        window.location.href="你的手机版地址";
}
goPAGE();

移动端放这个:

function goPAGE() {
    if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
        return;
}
    else {
        window.location.href="你的电脑版地址";    }
}
goPAGE();
与阳光握手言和 | 园豆:568 (小虾三级) | 2017-07-18 09:49

@与阳光握手言和: 不能   我的pc端是用asp写的 移动端是Php写的  你的代码放进PC出现编码问题

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-18 11:28

除了js判断还有什么方法可以?

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-19 09:47
0

你只需要使用一个入口文件就行,比如你打开手机希望进的是phone.html,电脑希望进的是computer.html,这个时候你只需要指定一个index.html 文件,在这个文件中只需要一个script标签,标签里面写上判断客户端和负责跳转页面的js就行了。

上面讲述了原理,下面我给你一个我之前写的入口文件给你参考:

<script>
    var config = ['http://computer.html', 'http://phone.html']
    var modelToJudge = (function(cfg) {
        var userAgentInfo = navigator.userAgent;
        var Agents = ["Android", "iPhone",
                    "SymbianOS", "Windows Phone",
                    "iPad", "iPod"];
        var flag = true;
        for (var v = 0; v < Agents.length; v++) {
            if (userAgentInfo.indexOf(Agents[v]) > 0) {
                flag = false;
                break;
            }
        }
     window.location.href = flag ? cfg[0]: cfg[1];
return; })(config); </script>

config中配置的是你需要跳转的链接,第一个为电脑,第二个为手机

好来污影后 | 园豆:383 (菜鸟二级) | 2017-07-18 10:17

我这PC端是用asp写的,移动端是php  还有路径是不一样的  pc的早就已经上线,现在是也要上线移动端,我用php写好放在同主机下的phone上   所以对于你的这段代码好像不能用吧

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-18 11:32

@耐寂寞守繁华: 怎么不能用 都可以用的,只是一个入口文件而已,管你asp还是php

好来污影后 | 园豆:383 (菜鸟二级) | 2017-07-18 11:57

@好来污影后: 那入口文件用了index.html  那我的asp写的网页不是要同名了

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-18 12:06

@耐寂寞守繁华: 。。。名字不能改吗?我也是无奈了,多看看,多学学,多练练才会有进步,多动手做测试不要靠大脑盲调代码。

好来污影后 | 园豆:383 (菜鸟二级) | 2017-07-18 12:09

@好来污影后: 不能,除了js判断还有什么方法可以?

耐寂寞守繁华 | 园豆:188 (初学一级) | 2017-07-19 09:47
   您需要登录以后才能回答,未注册用户请先注册