如果你做的页面被老板或PM要求兼容IE8,你就值得同情了。IE8不支持HTML5,在2017年的前端界,开发者不涉及HTML5标准简直寸步难行。然而,有一个可怕的事实客观存在,那就是IE8是Win7系统的默认浏览器!!!一想到国内Win7用户的可观数量,简直男默女泪。对于普通用户,360安全浏览器的知名度和使用量都大大高于Chrome,而360浏览器的兼容模式(Win7系统下),大部分就是IE8版本的内核。

怎么办?当然是硬着头皮凉拌呗。有一个问题是,使用Win8、Win10、Mac、Linux系统的前端开发者,很难在本机上用IE8内核测试网页。除了借用产品经理的老电脑(产品经理的电脑通常都是跑什么东西都会出Bug的异空间),还有其他办法吗?当然有。主要有以下几类:

  1. 安装第三方测试软件,如IETester。这种方法不推荐,因为目前根本没有好用的多版本IE内核测试软件。尽管IETester等软件的功能很诱人,但是问题多多,满是Bug,好像也不怎么更新。
  2. 在Win8、Win10下使用IE11的“仿真”功能。在IE11按下F12进入开发者工具,在“仿真”选项卡里可以设置想要模拟的内核版本号。这种方法最为简单,但这并不是原汁原味的Win7-IE8测试环境,有时候显示效果可能和在真实环境下有所不同。而且,不适用于Mac和Linux用户。
  3. 使用虚拟机。这也是本文着重讲述的方法,因为微软曾推出过专用来在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系统为例:

  1. 打开上文所给网页,如下图所示进行选择,然后下载虚拟机:

  2. 打开控制面板,进入“程序与功能”(以下步骤是开启Hyper-V服务。如果你的电脑上已开启Hyper-V,可以直接跳到第6步):

  3. 点击“启用或关闭windows功能”:

  4. 勾选“HyperV”选项并确定:

  5. Windows开始添加Hyper-V功能,这会持续几分钟。完成时如果提示“Windows需要重启电脑才能完成安装所请求的更改”,可以选择立即启动电脑或不重新启动电脑,在下次重新开启电脑时就可正常开启Hyper-V虚拟机功能。

  6. 在开始菜单的“Windows管理工具”目录下,找到并打开“Hyper-V管理器”(建议把该快捷方式放到桌面或固定在开始菜单,以后打开会更方便)。

  7. 解压下载到的“IE8.Win7.For.Windows.HyperV_2012.zip”压缩包。该压缩包建议保留,最好不要删除,因为虚拟机的90天限期一到,就可以重新解压并更新虚拟机。

  8. 在Hyper-V管理器右侧点击“新建”>“虚拟机”:

  9. 在“新建虚拟机”向导中,前几步都可以自行配置或进行默认配置,但在“连接虚拟硬盘”页的三个选项里,要选择“使用现有虚拟硬盘”,并把下方的“位置”定位到压缩包解压目录的“\Virtual Hard Disks\IE8 - Win7.vhd”文件。

  10. 创建虚拟机后,如果你在之前向导里的“配置网络”页没有选项可选,那么你就需要创建虚拟交换机了。点击主界面右侧的“虚拟交换机管理器”,在新窗口开始创建虚拟交换机。依次点击“外部”、“创建虚拟交换机”,然后在“外部网络”的下拉菜单中选择你可以访问外网的设备并点击“确定”。

  11. 创建虚拟交换机后,在主界面选择第9步创建的虚拟机,在右下方点击“设置”,弹出“设置”窗口后点击左边“网络适配器”,选择刚刚创建的虚拟交换机,点击“确定”即可完成设置。

  12. 终于可以开始启动虚拟机了。在主界面选中创建的虚拟机,在右下方点击“连接”,在新窗口点击开机键。


  13. 稍等片刻,虚拟机就会开机了。使用微软给好的虚拟硬盘文件,就可以顺利初始化IE8-Win7测试环境,是不是很方便?


  14. 在本地服务器已经建立的情况下(见上篇文章“Web前端页面的浏览器兼容性测试心得(一)搭建测试用本地静态服务器”),打开IE8,输入本机IP地址,你会发现虚拟机里也可以访问本地服务器哦。这样,在服务器目录下丢入要测试的网页,就可以在原汁原味的Win7虚拟机上进行测试了。

IIS和Hyper-V,还有微软提供的专用虚拟机,上篇文章和这篇文章里所介绍的利器一结合,测试前端页面再也不是什么困难事儿。后续我打算总结一些使HTML5兼容IE8的技术经验,祝你写的页面能够完美地兼容IE8!

Web前端页面的浏览器兼容性测试心得(二)搭建原汁原味的IE8测试环境的更多相关文章

  1. Web前端页面的浏览器兼容性测试心得(一)搭建测试用本地静态服务器

    自从实习以来,我体验了由一个人编程再到多人协作编程的转换.同时也接触了很多新鲜事物,学到了很多东西.工作时,常常需要多个人协同测试一张H5页面(PC.手机.平板等跨设备测试),也会经常把页面给PM或老 ...

  2. Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案

    由于IE8不支持HTML5,而它又是Win7的默认浏览器,我们即使讨厌它,在这几年却也拿它没办法. 最近做了个需要兼容IE8的项目,不可避免地用了HTML5+CSS3,甚至canvas和svg,做兼容 ...

  3. 【web前端开发】浏览器兼容性处理

    1.居中问题div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto;2.高度问题两上下排列或嵌套的div,上面的div设置高度(height),如果div里的 ...

  4. 转:【web前端开发】浏览器兼容性处理大全

    解决思路: ①.写代码的时候遵循W3C标准,按照最新稳定版本的IE或WebKit内核浏览器进行编码 ②.遇到部分无法全面解决浏览器兼容的时候,采取CSS的hack手段进行针对性微调.简单的说,CSS ...

  5. 【web前端开发】浏览器兼容性处理大全

    1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...

  6. web前端页面优化——个人见解

    web前端页面优化,我们从JavaScript.css.html这3个方面说下,我的见解,希望大神们能有刚好优化方法,一起探讨. 一.  有关javascript方面 优化见解. 1. 首先举个例子: ...

  7. Web 前端页面性能监控指标

    Web 前端页面性能监控指标 性能监控 / 性能指标 / 性能优化 白屏时间计算 FCP 白屏时间:从浏览器输入地址并回车后到页面开始有内容的时间: 首屏时间计算 FMP 首屏时间:从浏览器输入地址并 ...

  8. web前端页面项目经验总结

    项目时间:2016年4月5日--4月9日项目名称:阿七果子园web前端页面项目内容:    1.HTML5+CSS+JavaScript(banner+timer)+JQuery(small_bann ...

  9. 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(1)-Web前端页面

    本 Web 系统框架基于C# EF6+MVC+WebApi的快速应用开发平台.本节主要介绍Web前端页面设计与实现.Web前端页面主要分为普通列表页面.树状导航列表页面.普通编辑页面.数据导入页面.向 ...

随机推荐

  1. 编程之美 set 6 寻找最近点对

    这道题在算法课上当做例题讲过, 当时的印象也比较深 另有一道近似算法的题也在算法课上讲过, 并且印象更深, 复习的时候完全没管, 以为志在必得, 结果真考了那道近似算法, 我却没能打出来 为避免阴沟翻 ...

  2. 移动端form表单

    始终绑定submit事件 不单独的对[提交]按钮绑定click事件,对整个表单绑定submit提交事件,这样可以让整个表单内的文本框获得Enter提交的VIP待遇,并且在移动端中可以让文本框聚焦时键盘 ...

  3. MySQL5.7压缩包安装图文教程

    MySQL5.7压缩包安装图文教程 一.下载网址:https://dev.mysql.com/downloads/ 选择5.7版本 二.解压 下载完成后解压,解压后如下(zip是免安装的,解压后配置成 ...

  4. Java调用http保留访问状态

    package com.coracle; import com.coracle.yk.xframework.util.yunTongXun.HttpRequest; import java.io.*; ...

  5. 虚拟机VMWare安装苹果系统MacOS详细教程(联网设置,全屏插件、文件互传)

    运行环境: VMware® Workstation 12 Pro(自行安装,或者用这个) 推荐(下面以10.11.6版本做的教程,但是安装时推荐使用此版本安装然后升级到10.11.6):MacOS X ...

  6. 170308、oracle查看被锁的表和解锁

    --以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...

  7. 160607、springmvc+spring使用taskExecutor

    第一步:导入spring core的jar+springmvc的jar 第二步:springmvc的配置文件中 <bean id="taskExecutor" class=& ...

  8. 目前最火的php框架

    1.yii 作者:宗霖链接:https://www.zhihu.com/question/25023032/answer/75085250来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  9. Ibatis的#和$的区别

    来自别人的:https://blog.csdn.net/findmyself_for_world/article/details/49976555 总结:凡是#的,都作为参数,用setobject方式 ...

  10. Python--进阶处理4

    #================第四章:迭代器和生成器=================== # 函数 itertools.islice()适用于在迭代器和生成器上做切片操作. import ite ...