zcmok001 发表于 2020-10-21 07:32:34

Discuz X3.3 X3.2 手机访问默认“标准版”改为“触屏版”方法

------------------------------------------------------------------方法1 ---------------------------------------------------------修改前请备份原文件

1、找到“\source\class\discuz\discuz_application.php”,将其中的
'mobiletpl' => array('1' => 'mobile', '2' => 'touch', '3' => 'wml','yes' => 'mobile'),

改为

'mobiletpl' => array('1' => 'mobile', '2' => 'touch', '3' => 'wml','yes' => 'touch'),

2、上面的修改已经成功了,但是顶部会有“用掌上论坛访问本站,拥有更好阅读体验”的一小段文字,现在把它删掉。

找到“\source\plugin\mobile\mobile.class.php”,将其中的

if(strpos($useragent, 'iphone') !== false || strpos($useragent, 'ios') !== false) {
return lang('plugin/mobile', 'mobile_tip_ios');
} elseif(strpos($useragent, 'android') !== false) {
return lang('plugin/mobile', 'mobile_tip_android');
} elseif(strpos($useragent, 'windows phone') !== false) {
return lang('plugin/mobile', 'mobile_tip_wp7');
}


删掉或者注释掉,就完全OK了。

------------------------------------------------------------------方法二---------------------------------------------------------推荐方法:
以前我们介绍过如何通过修改Chrome浏览器运行参数的方法来模拟手机访问网站,但是在Chrome 32和33版本以后增加了更加便捷的方法,在开发者工具中只需要设置一下就能方便的模拟各种手机型号的访问效果了。方法如下:1、打开Chrome浏览器,需要32以后版本的。笔者使用的是Chrome 33版本。2、打开“开发者工具”,快捷键(F12或者Ctrl+Shift+i)。http://www.weste.net/uploadfile/2014/0326/20140326110945277.jpg3、在“开发者工具”界面的右侧有个“Show drawer”按钮,点击后在“drawer”界面再点击“Emulation”。http://www.weste.net/uploadfile/2014/0326/20140326110957652.jpg4、这个界面就一目了然了,Device里面可以选择各种手机或者平板设备,大概有20种之多。User Agent和Sensors显示了模拟的数据。点击“Emulate”按钮就可以生效了。http://www.weste.net/uploadfile/2014/0326/20140326111010124.jpg5、然后就在地址栏里面输入网址吧!看看模拟的效果怎么样?


方法一:在discuz的开发功能时,遇到修改触屏版,但是PC端无法访问手机版,可参考如下解决方法:
1./source/function/function_core.php

function checkmobile() {
return true; //此为加上的内容
global $_G;

       .....//下面内容太多,不写了,加上一句就行
}

2./source/class/discuz/discuz_application.php第658行左右也就是

注释掉 //dheader("Location:misc.php?mod=mobile");


3.完成以上两步即可用电脑访问手机版,但是发现无法访问触屏版,只要去掉js即可。

具体位置: /template/default/touch/common/header.htm
去掉:<script src="{STATICURL}js/mobile/common.js?{VERHASH}" charset="{CHARSET}"></script>
解决电脑访问discuz手机触屏版的方法:

       找到static/js/mobile/common.js文件

       var supporttouch = "ontouchend" in document;
       !supporttouch && (window.location.href = 'forum.php?mobile=1');

       也就是文件开头的那两行代码,罪魁祸首就是这个ontouchend,这个是只有手机才会有的事件,pc浏览器怎么也是不存在的,因此就永久跳到了标准版去了。
保存后就可以访问触屏版了
方法二:Discuz修改笔记-手机版默认跳转标准版or触屏版打开/source/class/discuz/discuz_application.php


查找


'mobiletpl' => array('1' => 'mobile', '2' => 'touch', '3' => 'wml','yes' => 'mobile'),
如要默认跳转标准版就修改为


'mobiletpl' => array('1' => 'mobile', '2' => 'mobile', '3' => 'wml','yes' => 'mobile'),


如要默认跳转触屏版就修改为


'mobiletpl' => array('1' => 'touch', '2' => 'touch', '3' => 'wml','yes' => 'mobile'),
页: [1]
查看完整版本: Discuz X3.3 X3.2 手机访问默认“标准版”改为“触屏版”方法