使用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); } } })();