php判断电脑浏览器模拟手机访问网页,在PC上测试移动端网站和模拟手机浏览器的5大方法...

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp。

一、Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备。以下标星的为推荐方法。

1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择“复制”,复制一个图标副本到桌面。右击该副本,选择“属性”,打开相应的对话框,在“目标”文本框的字符后面添加以下语句:“–user-agent=”Android””,如下图:

201403191014215.png (33 KB, 下载次数: 2)

2017-2-28 20:48 上传

注意user前面是两个“-”,并且“chrome.exe”与“–user”之间有一个空格。确定之后,打开这个新建的Chrome快捷方式,输入3g.qq.com就可以浏览到像手机里打开一样的页面了。

这时可以新建一个用户,就不影响原来用户访问的时候也是访问的手机版。

2.一次性模拟iPhone和安卓手机 开始–运行中输入以下命令,启动浏览器:

模拟谷歌Android:

chrome.exe --user-agent="Mozilla/5.0 (Linux; U; Android 2.2; en-us; 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 (iPad; 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,所以是一次性。

201403191014216.png (23.73 KB, 下载次数: 3)

2017-2-28 20:48 上传

更多的user-agent请自行搜索。

3.安装插件 插件可以很方便切换各种user-agent,很方便,但是可能会稍微影像性能。

User-Agent Selector地址:https://chrome.google.com/websto ... bcdhenmmgod/related

201403191014217.png (66.86 KB, 下载次数: 2)

2017-2-28 20:48 上传

从上图可以看到,还有很多类似的插件,其实功能都大同小异。

4:自带模拟器* 打开chrome开发者工具,按F12(r32版本),然后找到右上角的齿轮按钮,打开设置面板,选择Overrides,勾上Show ‘Emulation’ view in console drawer(在控制台视图中显示“仿真”)。

201403191014218.png (14.41 KB, 下载次数: 2)

2017-2-28 20:48 上传

然后关闭设置面板,选择Elements面板(非Console就可以),找到右上角打开控制台面板,选择控制台面板里的Emulation面板,右边有很多选项,选择一个点击Emulate就可以了,Reset按钮能恢复到默认状态。

201403191014219.png (22.09 KB, 下载次数: 2)

2017-2-28 20:48 上传

打开仿真后,打开http://xw.qq.com,即可看到如下的手机下的界面

2014031910142110.png (227.97 KB, 下载次数: 4)

2017-2-28 20:48 上传

这种方法简单好用,而且不需要重启,推荐这种方法。

注意:以上第一种和第二种方法都需要将全部打开的chrome窗口关闭,再打开才能起作用。

二、Firefox*浏览器

1.修改user-agent 和chrome一样安装插件修改user-agent的方法,搜索wmlbrowser、XHTML Mobile Profile以及User Agent Switcher三个插件

2.火狐响应式设计+修改user-agent* 最近的火狐自己添加响应式设计功能和3D试图都很棒,打开火狐自己的控制台(非firebug),找到右上角的响应式设计按钮。

2014031910142111.png (26.68 KB, 下载次数: 4)

2017-2-28 20:48 上传

打开后即切换到响应式设计界面

2014031910142112.png (127.58 KB, 下载次数: 3)

2017-2-28 20:48 上传

但我们看到打开QQ的站点并未被自动引到QQ的移动页面,这样只对响应式设计的界面起作用,对想QQ这样云端判断,返回不同页面的并不适应,这里就要配合上面的方法,再改下user-agent,即可实现类似chrome的调试功能。

2014031910142113.png (239.83 KB, 下载次数: 1)

2017-2-28 20:48 上传

3.Firefox OS 模拟器 安装的方法 参考这里:https://developer.mozilla.org/zh ... E5%99%A8#Installing

安装完成后可打开如下界面,可用里面的浏览器打开网站即可,但这种方法打开的是电脑网站,而不是手机网站,也就是他的user-agent不是手机的,故对响应式界面起作用,对判断user-agent的网站不起作用,访问qq,baidu等返回的都是电脑界面。

2014031910142114.png (190.05 KB, 下载次数: 1)

2017-2-28 20:48 上传

三、Opera*浏览1.修改user-agent 和chrome和firefox类似,可自行安装插件,自opera12之后,opera改用webkit内核,故可安装chrome的插件,也可自行在opera的商店中搜索插件

User Agent Changer下载: https://addons.opera.com/zh-cn/e ... changer/?display=en

2.Opera Mobile Emulator + dragonfly* 下载适合自己的版本,安装完毕会开如下界面:

2014031910142115.png (33.22 KB, 下载次数: 3)

2017-2-28 20:48 上传

左侧选择平台,右侧选择参数,选择完毕点击启动,如下的几面,用过手机opera的朋友会很熟悉,就是手机opera

2014031910142116.png (79.03 KB, 下载次数: 3)

2017-2-28 20:48 上传

关于opera mobile emulator的更详细介绍参看文章末尾参考资料的相关内容。

但此时,还是只能看而已,不能调试模拟器里的网站,这里需要dragonfly配合以实现调试,由于opera12后换了内核,不能安装dragonfly了,所有你需要一款opera12的浏览器,和dragonfly的离线包,配置好后具体如何连接请参看这里http://www.opera.com/dragonfly/documentation/remote/

全部设置好后即可实现在电脑上调试手机网页,如下图所示:

2014031910142117.png (358.42 KB, 下载次数: 2)

2017-2-28 20:48 上传

opera mobile emulator下载地址:http://www.opera.com/zh-cn/developer/mobile-emulator

四、模拟器*

1.官方模拟器* 做安卓开发的肯定都知道安卓模拟器,这是谷歌官方的提供的开发环境,能模拟安卓环境,还可切换各个版本,可下载配置好的环境,然后打开eclipes,直接打开AVDM,穿件一个AVD,然后start,如下图:

2014031910142118.png (33.91 KB, 下载次数: 1)

2017-2-28 20:48 上传

要等一大会时间,会打开模拟器,和安卓环境一样,打开里面的浏览器测试即可。但我的浏览器打不开不知道为什么,郁闷的很啊。

2014031910142119.png (125.65 KB, 下载次数: 3)

2017-2-28 20:48 上传

下载地址:http://developer.android.com/sdk/index.html

2.bluestacks 这也是一款模拟器,可自行搜索,本人安装后电脑就卡死了,可能我的电脑配置不行吧,看介绍还是不错的。

五、在线测试 在线只能测试界面的视觉效果,不能调试,但也是很不错的。

1.Mobile Emulator* 非常不错,速度也很快,界面很简洁,支持多种平台。

http://emulator.mobilewebsitesubmit.com/

2014031910142120.png (32.36 KB, 下载次数: 3)

2017-2-28 20:48 上传

2.opera mini simulator 需要java环境支持,单一平台,opera出品,速度很快。

http://www.opera.com/zh-cn/developer/opera-mini-simulator

3.webpage mobile 说实话弄了半天也没弄出来,大大的鄙视下吧,但是能测试的平台很全面。

http://www.webpagetest.org/mobile

六、总结 以上列出了多种方法,各有利弊,希望大家选择适合自己的方法,本人推荐chrome自带模拟器和opera mobile emulator + dragonfly的方法。因为这两种方法,接近真是手机环境,又能调试css和js。

当然文中没有提到的还有最好的方法就是你有一台手机,那就太好了,配合远程调试,是最最理想的办法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带弹出列表的EditText

最近做的一个Andriod里有一个这个要求,一个东西需要输入,但同时可以在列表直接选择。看到这个需求,瞬间想到了QQ的登录界面,那个账号输入的控件正式我所需要的。 这个账号输入框右边有一个按钮,点击可以显示一个下拉列…

SICP第三章题解

目录 SICP第三章题解ex3-17ex3-18ex3-19队列ex3-21ex3-22ex3-24ex3-253.4 并发:时间是一个本质问题ex3-383.4.2 控制并发的机制ex3-39ex3-41ex3-42串行化、序列化ex3-44串行化的实现ex3-47死锁3.5 流ex3-50序列加速器SICP第三章题解 标签(空格分隔&#…

linux cp 目录不存在自动创建,linux – 如果不存在,如何cp文件和创建目录?

我想将svn存储库中的修改文件复制到另一个目录,同时保留其目录结构.在阅读awk和xargs manpage之后,我找到了一种方法来获取更改的文件名,如下所示:$svn status -q | awk { print $2 } | xargs -d \\n -I {} cp {} /tmp/xen/但问题是以这种方式不保留目录结构,我想复…

ios 中 KVO

KVO(Key value observe)键值观察,是ios中的一种核心的概念,简单的理解为当某一个对象A(或者多个对象)要想监听对象的B的一个或者多个属性发生变化时,就是用这种机制。 KVO的优点 当某个对象有个…

获取win7时区所有信息

打开命令行工具: tzutil /l# 或者输入到文件中tzutil /l > data.txt 1 # -*- utf-8 -*-2 3 """获取win7所有时区信息,并写入到sql语句中4 5 Usage: python data.py -f data.txt -o data.sql6 """7 8 if __name__ &quo…

linux kill命令信号,Linux kill 命令详解

Linux kill 命令很容易让人产生误解,以为它仅仅就是用来杀死进程的。我们来看一下 man page 对它的解释:kill - send a signal to a process.从官方的解释不难看出,kill 是向进程发送信号的命令。当然我们可以向进程发送一个终止运行的信号&a…

VSTO学习笔记(二)Excel对象模型

原文:VSTO学习笔记(二)Excel对象模型上一次主要学习了VSTO的发展历史及其历代版本的新特性,概述了VSTO对开发人员的帮助和效率提升。从这次开始,将从VSTO 4.0开始,逐一探讨VSTO开发中方方面面,本人接触VSTO…

zen-coding for notepad++,前端最佳手写代码编辑器

zen-Coding是一款快速编写HTML,CSS(或其他格式化语言)代码的编辑器插件,这个插件可以用缩写方式完成大量重复的编码工作,是web前端从业者的利器。 zen-Coding插件支持多种编辑器,如UltraEdit,Notepad等。 温…

red hat linux 远程,Red Hat Linux 远程桌面 – 如何设置

远程访问 RHEL 计算机。运行 RHEL 7.3-8.1 的 Linux 计算机的远程桌面。从任何计算机、平板电脑或移动设备进行访问。立即免费试用!如果您是在家中或在旅途中工作,则可能需要一段时间才能在办公室或在家中访问台式计算机。如果该桌面恰巧在 Linux 操作系…

通过boundingRectWithSize:options:attributes:context:计算文本尺寸

转:http://blog.csdn.net/jymn_chen/article/details/10949279 之前用Text Kit写Reader的时候,在分页时要计算一段文本的尺寸大小,之前使用了NSString类的sizeWithFont:constrainedToSize:lineBreakMode:方法,但是该方法已经被iOS…

H264/AVC视频解码时AVC1和H264的区别

AVC1与H264的区别http://blog.csdn.net/qiuchangyong/article/details/6660253H.264 Video TypesThe following media subtypes are defined for H.264 video.Subtype FOURCC DescriptionMEDIASUBTYPE_AVC1 AVC1 H.264 bitstream without start codes.MEDIASUBTYPE…

Linux命令行显示无效的命令,LINUX 命令ifconfig 无效

在安装完成linux后,进入终端,输入命令行ifconfig,会提示bash: ifconfig: command notfound。这是因为在我们的环境变量里,还没有设置完整变量。如果我们输入/sbin/ifconfig或/usr/bin/gcc就可以执行命令行。为了不输入命令行的完整…

移动后端支持平台Parse将API由Ruby迁移到Go

Charity Majors是移动后端支持平台Parse的工程师。近日,他撰文介绍了他们将API从Ruby迁移到Go的过程。\\2011年,Parse借助Ruby on Rails快速推出了第一个版本。他们用Unicorn作为HTTP服务器,用Capistrano部署代码,用RVM管理环境&a…

面向对象三大特征之继承(extends)——Java笔记(六)

继承:从一般到特殊的关系,是一种拓展关系,子类对象是父类的一种,也可称为”is a“的关系泛化:把子类里的共性抽取到父类里的来的过程特化:子类在父类的基础上上定义了自己特有的行为特征的过程格式&#xf…

linux 虚拟钢琴程序,基于 Linux 与 VS1003 的 MIDI 电子节拍器的设计与实现,为乐器演奏(如钢琴、吉他)...

基于 Linux 与 VS1003 的 MIDI 电子节拍器的设计与实现,为乐器演奏(如钢琴、吉他)2016-08-22 0 0 0 4.0分其他1积分下载如何获取积分?基于 Linux 与 VS1003 的 MIDI 电子节拍器的设计与实现,为乐器演奏(如钢琴、吉他)提供稳定,丰富…

一个从源代码里提取中文字符串的java类

2019独角兽企业重金招聘Python工程师标准>>> 工作中需要优化代码里的中文警示语和异常信息,实在比较多,所以就写了个程序专门从代码里提取中文字符串。 java做的,比较简单,放上来备忘 package com.extractstr.app;impo…

oracle RAC切换归档

(转自leshami) RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异。在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成RAC数据库的归档模式转换问…

linux启用ipmi服务,使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理

简介: IPMI 是一种可扩展的标准,它定义了如何监控硬件和传感器、控制系统部件以及记录重大事件,随着 ipmi 技术在服务器中的应用,利用 ipmi 的众多优势就成为服务器管理特别是集群管理中不可缺少的部分。本文首先介绍了 ipmi 的一…

eclipse 使用指南

eclipse使用指南 eclipse下载地址: 1、eclipse快捷键 2、将eclipse新建项目的默认编码GBK改为UTF-8 3、Java 编程下 Eclipse 如何设置单行代码显示的最大宽度 4、使用Eclipse创建模板并格式化代码5、Java compiler level does not match the version of the install…

sql 创建用户脚本

USE master go CREATE LOGIN jiazhuang --用户名 WITH PASSWORD sa, --密码 DEFAULT_DATABASE JiaZhuan, --数据库名 CHECK_EXPIRATION OFF, CHECK_POLICY OFF go EXEC sp_addsrvrolemember JiaZhuan, sysadmin --角色 go 要想成功访问 SQL Server 数据库中的数据…