为Carbon Forum开启手机版

为Carbon Forum开启手机版

By lincanbin at 2015-05-06
3人收藏 • 5207人看过

blob.png

大部分人都知道怎么开启手机版,但是我发现还是有的人不知道,这里开个帖说明。

你需要给绑定一个专门给手机用的二级域名到网站上,然后在后台的手机域名里加入这个域名,保存。

然后API域名是我预留的接口,目前还没有任何作用,特此声明。

22 个回复 | 最后更新于 2015-07-29
foreverddong
2015-05-06
#1

泥嚎我就是zhihu的那个Brian Hsu。。。。。我又遇到了新的鬼畜的问题Orz,我在index.php里加了这一段js

<script language="javascript"> 
(function(){
	var res = GetRequest();
	var par = res['index'];
	if(par!='gfan'){
		var ua=navigator.userAgent.toLowerCase();
		var contains=function (a, b){
			if(a.indexOf(b)!=-1){return true;}
		}; 
		var toMobileVertion = function(){
			window.location.href = '此处是可以解析的移动版domain'  	}
		if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){return false}
		if((contains(ua,"android") && contains(ua,"mobile"))||(contains(ua,"android") && contains(ua,"mozilla")) ||(contains(ua,"android") && contains(ua,"opera"))||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion();}
	}
})();
function GetRequest() {
   var url = location.search; 
   var theRequest = new Object();
   if (url.indexOf("?") != -1) {
      var str = url.substr(1);
      strs = str.split("&");
      for(var i = 0; i < strs.length; i ++) {
         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
      }
   }
   return theRequest;
}
</script>

然后移动设备访问的时候就会被重定向到移动版的域名上,so far so good,

但是!它又会撞到这段js上,就被无限重定向了。。。。。

晕。。。。

lincanbin
2015-05-06
#2

回复#1 @foreverddong :

你不用加任何东西,本来移动设备访问就会自动重定向(iPad等平板电脑除外)

foreverddong
2015-05-06
#3

回复#2 @lincanbin :

移动设备访问并没有被重定向。。。我要不要去github上发个issue。。。。

foreverddong
2015-05-06
#4

回复#2 @lincanbin :

我又一次发现了我智商低的事实。


原来微信的内置浏览器没有UA标识


。。。。。。


我怎么会如此愚蠢

lincanbin
2015-05-06
#5

回复#3 @foreverddong :

什么设备?能发下你那设备的UA吗?

lincanbin
2015-05-06
#6

回复#4 @foreverddong :

原来是微信。

顺便一提,要在前端加代码不能加在根目录下的PHP文件里,那个是Model。

styles目录里的才是View。

foreverddong
2015-05-06
#7

回复#6 @lincanbin :

remenbo
2015-05-18
#8

LZ是希望通过微信做一个微社区咯

qybaby
2015-05-30
#9

likecan.net 

我绑定了 m.likecan.net 指向同一个ip

但是移动设备访问不能自动转向。

QQ图片20150530164612.png

qybaby
2015-05-30
#10

回复#9 @qybaby :

搞定了

q460906606
2015-07-29
#11

不设置移动域名就没法跳转手机版吗?

lincanbin
2015-07-29
#12

回复#11 @q460906606 :

改几行代码也可以实现自动跳转,但是我不建议这么做。

q460906606
2015-07-29
#13

回复#12 @lincanbin :

刚接触,请问下载的3.3.6.zip包里有移动版文件?还是说还得例外在下载


lincanbin
2015-07-29
#14

回复#13 @q460906606 :

包里就有,你直接绑个域名给它就行了。

q460906606
2015-07-29
#15

哪个目录?

lincanbin
2015-07-29
#16

回复#15 @q460906606 :

你不用管哪个目录,绑定个域名后,后台填入你绑定的域名就行了。

然后移动版目录是在style/mobile

q460906606
2015-07-29
#17

麻烦你把改代码跳转的方法告诉我一下

q460906606
2015-07-29
#18

回复#16 @lincanbin :

你应该搞一些文档,放在显要位置

lincanbin
2015-07-29
#19

回复#17 @q460906606 :

打开common.php,找到:

elseif ($_SERVER['HTTP_HOST'] == $Config['MobileDomainName']) {
	$TemplatePath = dirname(__FILE__) . '/styles/mobile/template/';
	$Style        = 'Mobile';
}

改为:

elseif ($IsMobile) {
	$TemplatePath = dirname(__FILE__) . '/styles/mobile/template/';
	$Style        = 'Mobile';
}


登 录


现在注册

QQ  登 录    Weibo  登 录    GitHub  登 录