0716:
pc开发一定要以ie为主调试,否则到了快上线,手忙脚乱
ie浏览器下慎用apply,会出现跳转失效的问题
// window.history.go.apply(window.history, arguments);
// window.location.replace.apply(window.location, arguments);
0716 end:
location.replace
1:b->c 是通过window.location.replace(“..xx/c”) 此时b页面的url会被c页面代替,并且点击后退按钮时会回退到a页面(最开始的页面)
2:b->c是通过window.location.href(“..xx/c”) 此时b页面的路径会被c页面代替,但是点击回按钮后页面回退的是b页面
Babel
Babel 默认只转码 ES6 的新语法(syntax),而不转换新的 API,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign、Array.from)都不会转码。
如果想让这些方法运行,必须使用babel-polyfill
,为当前环境提供一个垫片。
http://babeljs.io/docs/en/babel-plugin-transform-runtime/
babel-polyfill
转码 ES6 的新的 API,如果想让这些方法运行,必须使用babel-polyfill
,为当前环境提供一个垫片。
fetch
https://www.cnblogs.com/huilixieqi/p/6494380.html
Es6-promise
https://www.npmjs.com/package/es6-promise
在IE8支持promise
bluebird.js
支持IE4+的promise,
Fetch
使用promise方式的请求,相比ajax,请求不会自动把cookie带上
浏览器文件-内存缓存与硬盘缓存
在浏览器中,浏览器会在js和图片等文件
解析执行后直接存入内存缓存(for memory cache)中,那么当刷新页面时只需直接从内存缓存中读取(from memory cache)
;
而css文件
则会存入硬盘文件中,所以每次渲染页面都需要从硬盘读取缓存(from disk cache)
;
通过ensure异步加载的js
会缓存在磁盘中(for disk cache)
;
如果只是普通的script引入的js
-浏览器默认会存在内存缓存中-中断进程重新打开还是会重新访问。
https://www.cnblogs.com/duiniweixiao/p/8884274.html
require.ensure和import () 异步加载,ie8不兼容,暂无组件解决
es6-promise.auto
es6-promise: 是个库而已,不会自动polyfill;
es6-promise.auto会检测Promise是否存在,若存在原生的Promise,则不执行;
否则会应用polyfill;
await/async — ES7语法
async onReady () {
async function b () {
console.log(1);
};
await b().then(() => {
console.log(2);
});
}
一般需要在函数片段外层包一下async或者在生命周期名前加async
async () => {
}
// async 返回到是promise
需要另外在babel中添加组件babe-plugin-transform-runtime,
babel-polyfill只转es6的语法
中转页跳转,在success中继续跳转中转页,接口不能算完全请求成功,所以console日志没有成功的日志;
报错是:接口response界面 fail data, 表示接口未完成被重定向
chrome控制台-preserve log可以记录所有历史的接口请求日志;