使用FileReader,核心代码:android
var reader = new FileReader() reader.onload = e => console.log(JSON.parse(e.target.result)) reader.readAsText(blob)
捕获异常:ios
/** 捕获导出文件流数据接口错误 * @param {String} res接口返回信息 正常:文件流 错误:错误信息 * */ function catchDonwnloadError(res){ let result = {}; return new Promise((resolve,reject) => { let reader = new FileReader(); reader.onload = e => { try{ //根据后端返回的JSON对象仍是JSON字符串作处理 if(typeof e.target.result === 'object'){ result = e.target.result; } result = JSON.parse(e.target.result); }finally{ if(typeof result.status !== 'undefined'){ //element-ui错误提示组件 this.$message({ message: result.message, type: 'error', duration: 5 * 1000 }); reject(); } resolve(); } } //返回文件流为blob格式使用readAsText arraybuffer格式使用readAsArrayBuffer reader.readAsText(res.data); }) }
调用方式:element-ui
this.donwnloadError(result).then(() => { //导出文件成功后的操做 this.result=result; })
问题地址:处理文件下载失败,如何将Blob对象转换为Json?json
《参考:FileReader》segmentfault
也便是把cookie的domain设置为顶级域名。后端
function getdomain(){ var domain = document.domain; var ip = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; if(ip.test(domain)){ return domain; }else{ return document.domain.split('.').slice(1).join('.'); } } var firstDomainName = getdomain(); document.cookie="userid=888abc;domain="+firstDomainName+";path=/";
function IEVersion(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if(isIE) { userAgent.match(/MSIE (\d+\.\d+);/g); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 7; } else if(fIEVersion == 8) { return 8; } else if(fIEVersion == 9) { return 9; } else if(fIEVersion == 10) { return 10; } else { return 6;//IE版本<=7 } } else if(isEdge) { return 'edge';//edge } else if(isIE11) { return 11; //IE11 }else{ return -1;//不是ie浏览器 } }
跳转到应用商店:跨域
(https)|(itms-apps)://itunes.apple.com/app/id{appID}
跳转到撰写评价:浏览器
(https)|(itms-apps)://itunes.apple.com/app/id{appID}?action=write-review
跳转到查看评价:缓存
(https)|(itms-apps)://itunes.apple.com/app/viewContentsUserReviews?id={appID}
手机端和pc端都可适用。微信
示例代码:
window.location.href = 'itms-apps://itunes.apple.com/app/id414478124?action=write-review'
;(function(){
var u = navigator.userAgent; var ua = navigator.userAgent.toLowerCase(); var dom = document.getElementById('btn'); var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if(ua.match(/MicroMessenger/i)=="micromessenger") { //微信内置浏览器 dom.addEventListener('touchstart', function (event) { },false); }else{ if(isiOS){ dom.addEventListener('touchstart', function (event) { //跳转到ios下载地址(示例:微信app) window.location.href='itms-apps://itunes.apple.com/app/id414478124'; },false); } else if(isAndroid){ dom.addEventListener('touchstart', function (event) { window.location.href='http://www.XXX.com/apk/demo.apk'; },false); }else{ //PC 端 dom.addEventListener('click',function(){ //跳转到andriod下载地址 window.location.href='http://www.XXX.com/apk/demo.apk'; },false); } } })();