返回列表 发帖

[求助] 现在的网络环境下,如何才能修改出一个适合手机访问的版本?

本帖最后由 hohaha 于 2018-1-3 17:05 编辑

反正没人发言,我来发一个。
现在的网络环境,似乎没什么WAP不WAP了。
那怎么才能修改成,即适合电脑,又适合手机的版本?

从哪里入手?怎么改?
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

1、先做判断,

在_common.asp找到
var inUpdate=false; // Set a flag to use update mode
下面,加
var inMobile; // Set a flag to use mobile mode

找到
if(!inUpdate)theUser.getUserRights();
下面,加
if(input["mod"]=="mobile"){
        Session("inMobile")="mobile";
}else if(input["mod"]=="pc"){
        Session("inMobile")="pc";
}
if(Session("inMobile")=="mobile"){
        inMobile=true;
}else if(Session("inMobile")=="pc"){
        inMobile=false;
}else{
        inMobile=checkMobile();
}

class/functions.asp,加入如下函数


function checkMobile() {//check mobile
        var touchbrowser_list =['iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',
                                'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',
                                'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',
                                'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',
                                'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',
                                'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',
                                'benq', 'haier', '^lct', '320x320', '240x320', '176x220'];
        var mobilebrowser_list =['windows phone'];
        var wmlbrowser_list = ['cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom',
                        'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh',
                        'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte'];
        var pad_list = ['ipad'];
        var useragent = strUA.toLowerCase();
        if(dstrpos(useragent, pad_list)) {
                return false;
        }
        if((dstrpos(useragent, mobilebrowser_list, true))){
                return true;//'1';
        }
        if((dstrpos(useragent, touchbrowser_list, true))){
                return true;//'2';
        }
        if((dstrpos(useragent, wmlbrowser_list))){
                return true;//'3'; //wml版
        }
        var brower = ['mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop'];
        if(dstrpos(useragent, brower)) return false;//pc browser
}

function dstrpos(string, arr) {
        for(var i=0;i<arr.length;i++){
                if(strpos(string, arr[i]) !== false){
                        return true;
                }
        }
    return false;  
}
function strpos (haystack, needle, offset) {
        var i = (haystack + '').indexOf(needle, (offset || 0));
        return i === -1 ? false : i;
}


2、之后就可以在全局使用inMobile做判断了,

if(inMobile){加载移动版css}
else{加载PC版css}

当然如果原版lbs2单纯改css无法做到完全适应手机

TOP

var inUpdate=false;
不行啊,第一条代码就搜索不到。
我在这论坛里总是提问,我的问题很多,谢谢大家帮助

TOP

算了,改起来可能比较难。
我在这论坛里总是提问,我的问题很多,谢谢大家帮助

TOP

返回列表