# automation-development-ie8
**Repository Path**: wg18/automation-development-ie8
## Basic Information
- **Project Name**: automation-development-ie8
- **Description**: 兼容IE8自动化集成开发环境
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2020-06-16
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 基于Gulp的前端开发模版
适用场景:**大量开发页面,前后端分离**。
特点:功能自动化,可配置, 提供IE8兼容解决方案,提供常用模板。
不足:不能解决所有IE8及以下问题,需要心细。
**项目运行**
```javascript
$ git clone https://github.com/jusfoun-FE/automation-development-ie8.git
$ cd automation-development-ie8
$ npm install
$ npm run dev //用于开发环境
$ npm run build //用于生产环境
```
浏览器输入地址查看模板:http://localhost:3000/html/index/
### 项目目录结构
```
.
├─ build/ # gulp 任务配置目录
├─ dist/ # build 生成的生产环境下的项目
├─ src/ # 源码目录(开发都在这里进行)
│ ├── components/ # 组件(COMPONENT)
│ ├── html/ # 页面级html
│ ├── css/ # css文件存放目录(less ,scss,css)
│ ├── js/ # js文件存放目录
│ ├── images/ # 图片文件
├── .babelrc # Babel 转码配置
├── .gitignore # (配置)需被 Git 忽略的文件(夹)
├── gulpfile.js # gulpfile基础配置文件
├── package.json # (这个就不用多解释了吧)
```
### IE低版本兼容小贴士
#### IE浏览器hack
html:
```html
只在IE6下生效
只在IE6以上版本生效
只在IE8上不生效
非IE浏览器生效
```
css:
```css
“-″减号是IE6专有的hack
“\9″ IE6/IE7/IE8/IE9/IE10都生效
“\0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
“\9\0″ 只对IE9/IE10生效,是IE9/10的hack
.hack{
/*demo1 注意顺序,否则IE6/7下可能无法正确显示,导致结果显示为白色背景*/
background-color:red; /* All browsers */
background-color:blue !important;/* All browsers but IE6 */
*background-color:black; /* IE6, IE7 */
+background-color:yellow;/* IE6, IE7*/
background-color:gray\9; /* IE6, IE7, IE8, IE9, IE10 */
background-color:purple\0; /* IE8, IE9, IE10 */
background-color:orange\9\0;/*IE9, IE10*/
_background-color:green; /* Only works in IE6 */
*+background-color:pink; /* WARNING: Only works in IE7 ? Is it right? */
}
```
#### 1、IE8及以下,布局问题
不使用flex,box-size:border-box,calc
#### 2、ie下进行跨域请求解决方案
引入jquery.xdomainrequest.min.js
#### 3、ie8,9 进行跨域post请求,参数无法传递解决办法
jquery的ajax方法添加
crossDomain: true == !(document.all)
例如:
```javascript
$.ajax({
url: url,
type: 'POST',
data: params,
dataType: 'json',
contentType: "application/json",
crossDomain: true == !(document.all),
success: function (res) {
...
},
error: function (err) {
...
}
})
```
#### 4、IE6,IE7下overflow:hidden无效
解决办法:position:relative; 或者 *position:relative; /* for IE6,IE7 */ 即可解决该bug。
既:
```css
position: relative;
overflow: hidden;
```
#### 5、css3选择器兼容问题?
```html
```
在非必不可得到情况下不建议使用,会引起页面卡顿
#### 6、兼容IE8不直接使用sessionStorage,localStorage
使用公用方法,使用办法如下:
```javascript
function setKeyItem(key,value) {
if (window.sessionStorage){
sessionStorage.setItem(key,value);
}else{
setCookie(key,value,TimeoutCookie)
}
}
```
#### 7、“JSON”未定义
引入json2.js
注:本模板已经引入
下载地址:https://github.com/douglascrockford/JSON-js
#### 8、IE跨域下出现{"readyState":0,"status":0,"TypeError"...}
对浏览器进行设置 工具->Internet选项->安全->自定义级别->其他->通过域访问数据源->启用
#### 9、透明度兼容性:
a、使用rgba背景色做透明的:
背景色变成:background: #000 \9;
再加IE9及以下的透明度设置方法
```css
opacity=80
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
```
b、直接使用opacity设置透明度的
添加IE9及以下的透明度设置方法
```css
opacity=80
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
```
#### 10、输入框垂直居中问题
将line-height设置成和height一样 即可,如:
```css
innput.txt{
height: 36px;
line-height: 36px;
}
```
#### 11、布局错位问题:
a、没有清除浮动的清除浮动即可,如:
html:
```javascript