laravel 判断浏览器设备检测,区分手机端浏览器和pc端浏览器,隐藏或显示某些代码

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我想根据别人的代码再改一下做成自己的应用。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:框架 - 问题 - SegmentFault查看thinkphp版本号方法
打开文件&根目录\ThinkPHP\ThinkPHP.php&下的文件ThinkPHP.php,在22--23行可以看到版本信息THINK_VERSION,如下图:
说明:此方法不破坏原有的Thinkphp框架,对以后框架升级没影响,并且可以共用前台的model和controller,减少代码的繁琐重复;
第一步:新建 ismobile() 函数文件function.php,加入到目录&根目录\Application\Home\Common\&下
function.php文件代码:
function ismobile() {
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
return true;
//此条摘自TPM智能切换模板引擎,适合TPM开发
if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
return true;
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER['HTTP_VIA']))
//找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
//判断手机发送的客户端标志,兼容性有待提高
if (isset ($_SERVER['HTTP_USER_AGENT'])) {
$clientkeywords = array(
'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
//从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
//协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') & strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
return true;
return false;
第二步:在目录&根目录\Application\Home\&下新建与View同级目录的Mobile目录,如下图:
手机端Mobile目录下文件内容大致和PC端View目录下的文件夹命名,文件命名相同,文件内容就是你手机版的页面啦;
第三步:控制器controller处理,在目录&根目录\Application\Home\Controller\&下编辑公共控制器(如PublicController.class.php,若没有新建一个公共控制器),加入初始化函数_initialize()
PublicController.class.php代码:(作用:对用户访问工具是PC端还是手机端进行判断)
namespace Home\C
use Think\C
class PublicController extends Controller{
public function _initialize(){
if (ismobile()) {
//设置默认默认主题为 Mobile
C('DEFAULT_V_LAYER','Mobile');
然后让所有的&根目录\Application\Home\Controller\&下控制器去继承这个公共的的控制器PublicController.class.php,
如IndexController.class.php控制器继承该控制器:
namespace Home\C
// use Think\C
class IndexController extends PublicController {
public function index(){
$this -& display();
完成以上三步就可以实现手机和PC端浏览器的切换啦,接下来就可以完成手机端的页面了
阅读(...) 评论()在PC上测试移动端网站和模拟手机浏览器的5大方法
作者:佚名
字体:[ ] 来源:互联网 时间:03-19 10:14:54
最近公司要开发网站的移动版,让我准备准备知识,话说本人开发移动网站的经验还真不多,最悲剧的事情就是我的手机是个经典的诺基亚,而且公司还不给配手机,这是有多讨厌,没办法,没有手机只能用电脑模拟了
查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp。
一、Chrome*浏览器
chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备。以下标星的为推荐方法。
1.新建Chrome快捷方式
右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择&复制&,复制一个图标副本到桌面。右击该副本,选择&属性&,打开相应的对话框,在&目标&文本框的字符后面添加以下语句:&&user-agent=&Android&&,如下图:
注意user前面是两个&-&,并且&chrome.exe&与&&user&之间有一个空格。确定之后,打开这个新建的Chrome快捷方式,输入就可以浏览到像手机里打开一样的页面了。
这时可以新建一个用户,就不影响原来用户访问的时候也是访问的手机版。
2.一次性模拟iPhone和安卓手机
开始&运行中输入以下命令,启动浏览器:
模拟谷歌Android:
chrome.exe --user-agent=&Mozilla/5.0 (L U; Android 2.2; en- Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1&
模拟苹果iPhone:
chrome.exe --user-agent=&Mozilla/5.0 (iP U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.10&
这种方法仅供特殊情况下使用,因为重启Chrome将不能恢复正常User-Agent,所以是一次性。
更多的user-agent请自行搜索。
3.安装插件
插件可以很方便切换各种user-agent,很方便,但是可能会稍微影像性能。
User-Agent Selector地址:/webstore/detail/user-agent-selector/fnbmdojpgjpmjjmnjdnbobcdhenmmgod/related
从上图可以看到,还有很多类似的插件,其实功能都大同小异。
4:自带模拟器*
打开chrome开发者工具,按F12(r32版本),然后找到右上角的齿轮按钮,打开设置面板,选择Overrides,勾上Show &Emulation& view in console drawer(在控制台视图中显示&仿真&)。
然后关闭设置面板,选择Elements面板(非Console就可以),找到右上角打开控制台面板,选择控制台面板里的Emulation面板,右边有很多选项,选择一个点击Emulate就可以了,Reset按钮能恢复到默认状态。
打开仿真后,打开,即可看到如下的手机下的界面
这种方法简单好用,而且不需要重启,推荐这种方法。
注意:以上第一种和第二种方法都需要将全部打开的chrome窗口关闭,再打开才能起作用。
二、Firefox*浏览器1.修改user-agent
和chrome一样安装插件修改user-agent的方法,搜索wmlbrowser、XHTML Mobile Profile以及User Agent Switcher三个插件
2.火狐响应式设计+修改user-agent*
最近的火狐自己添加响应式设计功能和3D试图都很棒,打开火狐自己的控制台(非firebug),找到右上角的响应式设计按钮。
打开后即切换到响应式设计界面
但我们看到打开QQ的站点并未被自动引到QQ的移动页面,这样只对响应式设计的界面起作用,对想QQ这样云端判断,返回不同页面的并不适应,这里就要配合上面的方法,再改下user-agent,即可实现类似chrome的调试功能。
3.Firefox OS 模拟器
安装的方法 参考这里:https://developer.mozilla.org/zh-CN/docs/Tools-840092-dup/Firefox_OS_%E6%A8%A1%E6%8B%9F%E5%99%A8#Installing
安装完成后可打开如下界面,可用里面的浏览器打开网站即可,但这种方法打开的是电脑网站,而不是手机网站,也就是他的user-agent不是手机的,故对响应式界面起作用,对判断user-agent的网站不起作用,访问qq,baidu等返回的都是电脑界面。
三、Opera*浏览1.修改user-agent
和chrome和firefox类似,可自行安装插件,自opera12之后,opera改用webkit内核,故可安装chrome的插件,也可自行在opera的商店中搜索插件
User Agent Changer下载: /zh-cn/extensions/details/user-agent-changer/?display=en
2.Opera Mobile Emulator + dragonfly*
下载适合自己的版本,安装完毕会开如下界面:
左侧选择平台,右侧选择参数,选择完毕点击启动,如下的几面,用过手机opera的朋友会很熟悉,就是手机opera
关于opera mobile emulator的更详细介绍参看文章末尾参考资料的相关内容。
但此时,还是只能看而已,不能调试模拟器里的网站,这里需要dragonfly配合以实现调试,由于opera12后换了内核,不能安装dragonfly了,所有你需要一款opera12的浏览器,和dragonfly的离线包,配置好后具体如何连接请参看这里/dragonfly/documentation/remote/
全部设置好后即可实现在电脑上调试手机网页,如下图所示:
opera mobile emulator下载地址:/zh-cn/developer/mobile-emulator
四、模拟器* 1.官方模拟器*
做安卓开发的肯定都知道安卓模拟器,这是谷歌官方的提供的开发环境,能模拟安卓环境,还可切换各个版本,可下载配置好的环境,然后打开eclipes,直接打开AVDM,穿件一个AVD,然后start,如下图:
要等一大会时间,会打开模拟器,和安卓环境一样,打开里面的浏览器测试即可。但我的浏览器打不开不知道为什么,郁闷的很啊。
下载地址:/sdk/index.html
2.bluestacks
这也是一款模拟器,可自行搜索,本人安装后电脑就卡死了,可能我的电脑配置不行吧,看介绍还是不错的。
五、在线测试
在线只能测试界面的视觉效果,不能调试,但也是很不错的。
1.Mobile Emulator*
非常不错,速度也很快,界面很简洁,支持多种平台。
2.opera mini simulator
需要java环境支持,单一平台,opera出品,速度很快。
/zh-cn/developer/opera-mini-simulator
3.webpage mobile
说实话弄了半天也没弄出来,大大的鄙视下吧,但是能测试的平台很全面。
http://www.webpagetest.org/mobile
以上列出了多种方法,各有利弊,希望大家选择适合自己的方法,本人推荐chrome自带模拟器和opera mobile emulator + dragonfly的方法。因为这两种方法,接近真是手机环境,又能调试css和js。
当然文中没有提到的还有最好的方法就是你有一台手机,那就太好了,配合远程调试,是最最理想的办法。
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 火狐浏览器pc版 的文章

 

随机推荐