Web前端页面的浏览器兼容性测试心得(二)搭建原汁原味的IE8测试环境
如果你做的页面被老板或PM要求兼容IE8,你就值得同情了。IE8不支持HTML5,在2017年的前端界,开发者不涉及HTML5标准简直寸步难行。然而,有一个可怕的事实客观存在,那就是IE8是Win7系统的默认浏览器!!!一想到国内Win7用户的可观数量,简直男默女泪。对于普通用户,360安全浏览器的知名度和使用量都大大高于Chrome,而360浏览器的兼容模式(Win7系统下),大部分就是IE8版本的内核。
怎么办?当然是硬着头皮凉拌呗。有一个问题是,使用Win8、Win10、Mac、Linux系统的前端开发者,很难在本机上用IE8内核测试网页。除了借用产品经理的老电脑(产品经理的电脑通常都是跑什么东西都会出Bug的异空间),还有其他办法吗?当然有。主要有以下几类:
- 安装第三方测试软件,如IETester。这种方法不推荐,因为目前根本没有好用的多版本IE内核测试软件。尽管IETester等软件的功能很诱人,但是问题多多,满是Bug,好像也不怎么更新。
- 在Win8、Win10下使用IE11的“仿真”功能。在IE11按下F12进入开发者工具,在“仿真”选项卡里可以设置想要模拟的内核版本号。这种方法最为简单,但这并不是原汁原味的Win7-IE8测试环境,有时候显示效果可能和在真实环境下有所不同。而且,不适用于Mac和Linux用户。
- 使用虚拟机。这也是本文着重讲述的方法,因为微软曾推出过专用来在IE8内核下测试网页的免费映像,这是真正原汁原味的测试环境。
2016年,微软在开发者中心发布了新版虚拟机,该虚拟机用来测试Windows10 Edge浏览器和IE8至IE11,有效期为90天(超过90天则需要重新配置),相关用户可免费下载。该虚拟机有Windows、Mac和Linux三大类版本,涉及IE8至Win10最新预览版的Edge浏览器,可用于VirtualBox、Vagrant、HyperV以及UMware等主流虚拟机。
下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
本文将介绍“IE8 on Win7”虚拟机在Hyper-V(Win8、Win10专业版自带的虚拟机软件)平台上的安装和使用。如果你是Mac、Linux用户,或者想使用不是Hyper-V的其他虚拟机软件,以下内容就可以跳过了。
我选用Hyper-V的理由和上一篇文章“Web前端页面的浏览器兼容性测试心得(一)搭建测试用本地静态服务器”相似,那就是Hyper-V也是Windows自带的,不用折腾而且配置方便,何乐而不为呢?以下操作步骤以Win10系统为例:
打开上文所给网页,如下图所示进行选择,然后下载虚拟机:
打开控制面板,进入“程序与功能”(以下步骤是开启Hyper-V服务。如果你的电脑上已开启Hyper-V,可以直接跳到第6步):
点击“启用或关闭windows功能”:
勾选“HyperV”选项并确定:
Windows开始添加Hyper-V功能,这会持续几分钟。完成时如果提示“Windows需要重启电脑才能完成安装所请求的更改”,可以选择立即启动电脑或不重新启动电脑,在下次重新开启电脑时就可正常开启Hyper-V虚拟机功能。
在开始菜单的“Windows管理工具”目录下,找到并打开“Hyper-V管理器”(建议把该快捷方式放到桌面或固定在开始菜单,以后打开会更方便)。
解压下载到的“IE8.Win7.For.Windows.HyperV_2012.zip”压缩包。该压缩包建议保留,最好不要删除,因为虚拟机的90天限期一到,就可以重新解压并更新虚拟机。
在Hyper-V管理器右侧点击“新建”>“虚拟机”:
在“新建虚拟机”向导中,前几步都可以自行配置或进行默认配置,但在“连接虚拟硬盘”页的三个选项里,要选择“使用现有虚拟硬盘”,并把下方的“位置”定位到压缩包解压目录的“\Virtual Hard Disks\IE8 - Win7.vhd”文件。
创建虚拟机后,如果你在之前向导里的“配置网络”页没有选项可选,那么你就需要创建虚拟交换机了。点击主界面右侧的“虚拟交换机管理器”,在新窗口开始创建虚拟交换机。依次点击“外部”、“创建虚拟交换机”,然后在“外部网络”的下拉菜单中选择你可以访问外网的设备并点击“确定”。
创建虚拟交换机后,在主界面选择第9步创建的虚拟机,在右下方点击“设置”,弹出“设置”窗口后点击左边“网络适配器”,选择刚刚创建的虚拟交换机,点击“确定”即可完成设置。
终于可以开始启动虚拟机了。在主界面选中创建的虚拟机,在右下方点击“连接”,在新窗口点击开机键。
稍等片刻,虚拟机就会开机了。使用微软给好的虚拟硬盘文件,就可以顺利初始化IE8-Win7测试环境,是不是很方便?
在本地服务器已经建立的情况下(见上篇文章“Web前端页面的浏览器兼容性测试心得(一)搭建测试用本地静态服务器”),打开IE8,输入本机IP地址,你会发现虚拟机里也可以访问本地服务器哦。这样,在服务器目录下丢入要测试的网页,就可以在原汁原味的Win7虚拟机上进行测试了。
IIS和Hyper-V,还有微软提供的专用虚拟机,上篇文章和这篇文章里所介绍的利器一结合,测试前端页面再也不是什么困难事儿。后续我打算总结一些使HTML5兼容IE8的技术经验,祝你写的页面能够完美地兼容IE8!
Web前端页面的浏览器兼容性测试心得(二)搭建原汁原味的IE8测试环境的更多相关文章
- Web前端页面的浏览器兼容性测试心得(一)搭建测试用本地静态服务器
自从实习以来,我体验了由一个人编程再到多人协作编程的转换.同时也接触了很多新鲜事物,学到了很多东西.工作时,常常需要多个人协同测试一张H5页面(PC.手机.平板等跨设备测试),也会经常把页面给PM或老 ...
- Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案
由于IE8不支持HTML5,而它又是Win7的默认浏览器,我们即使讨厌它,在这几年却也拿它没办法. 最近做了个需要兼容IE8的项目,不可避免地用了HTML5+CSS3,甚至canvas和svg,做兼容 ...
- 【web前端开发】浏览器兼容性处理
1.居中问题div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto;2.高度问题两上下排列或嵌套的div,上面的div设置高度(height),如果div里的 ...
- 转:【web前端开发】浏览器兼容性处理大全
解决思路: ①.写代码的时候遵循W3C标准,按照最新稳定版本的IE或WebKit内核浏览器进行编码 ②.遇到部分无法全面解决浏览器兼容的时候,采取CSS的hack手段进行针对性微调.简单的说,CSS ...
- 【web前端开发】浏览器兼容性处理大全
1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...
- web前端页面优化——个人见解
web前端页面优化,我们从JavaScript.css.html这3个方面说下,我的见解,希望大神们能有刚好优化方法,一起探讨. 一. 有关javascript方面 优化见解. 1. 首先举个例子: ...
- Web 前端页面性能监控指标
Web 前端页面性能监控指标 性能监控 / 性能指标 / 性能优化 白屏时间计算 FCP 白屏时间:从浏览器输入地址并回车后到页面开始有内容的时间: 首屏时间计算 FMP 首屏时间:从浏览器输入地址并 ...
- web前端页面项目经验总结
项目时间:2016年4月5日--4月9日项目名称:阿七果子园web前端页面项目内容: 1.HTML5+CSS+JavaScript(banner+timer)+JQuery(small_bann ...
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(1)-Web前端页面
本 Web 系统框架基于C# EF6+MVC+WebApi的快速应用开发平台.本节主要介绍Web前端页面设计与实现.Web前端页面主要分为普通列表页面.树状导航列表页面.普通编辑页面.数据导入页面.向 ...
随机推荐
- 编程之美 set 6 寻找最近点对
这道题在算法课上当做例题讲过, 当时的印象也比较深 另有一道近似算法的题也在算法课上讲过, 并且印象更深, 复习的时候完全没管, 以为志在必得, 结果真考了那道近似算法, 我却没能打出来 为避免阴沟翻 ...
- 移动端form表单
始终绑定submit事件 不单独的对[提交]按钮绑定click事件,对整个表单绑定submit提交事件,这样可以让整个表单内的文本框获得Enter提交的VIP待遇,并且在移动端中可以让文本框聚焦时键盘 ...
- MySQL5.7压缩包安装图文教程
MySQL5.7压缩包安装图文教程 一.下载网址:https://dev.mysql.com/downloads/ 选择5.7版本 二.解压 下载完成后解压,解压后如下(zip是免安装的,解压后配置成 ...
- Java调用http保留访问状态
package com.coracle; import com.coracle.yk.xframework.util.yunTongXun.HttpRequest; import java.io.*; ...
- 虚拟机VMWare安装苹果系统MacOS详细教程(联网设置,全屏插件、文件互传)
运行环境: VMware® Workstation 12 Pro(自行安装,或者用这个) 推荐(下面以10.11.6版本做的教程,但是安装时推荐使用此版本安装然后升级到10.11.6):MacOS X ...
- 170308、oracle查看被锁的表和解锁
--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...
- 160607、springmvc+spring使用taskExecutor
第一步:导入spring core的jar+springmvc的jar 第二步:springmvc的配置文件中 <bean id="taskExecutor" class=& ...
- 目前最火的php框架
1.yii 作者:宗霖链接:https://www.zhihu.com/question/25023032/answer/75085250来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- Ibatis的#和$的区别
来自别人的:https://blog.csdn.net/findmyself_for_world/article/details/49976555 总结:凡是#的,都作为参数,用setobject方式 ...
- Python--进阶处理4
#================第四章:迭代器和生成器=================== # 函数 itertools.islice()适用于在迭代器和生成器上做切片操作. import ite ...