標籤:data span filesyste ted reload 直接 載入 cti oca
問題描述:首頁視頻首次載入後儲存到了手機本地,再次載入時判斷視頻檔案是否存在,存在則直接讀取,不存在則再去伺服器下載並儲存至本地。Android平台中正常,IOS中一直不能準確判斷檔案是否存在,經測試即使檔案存在也提示不存在。。。
解決辦法:經過查詢後得知,在傳遞url參數時需增加個首碼 "file:",代碼如下
//判斷視頻是否存在 plus.io.resolveLocalFileSystemURL("file:" + sd_path, function(entry) { entry.file(function(file) { videoMedia.src = sd_path; videoMedia.autoplay = true; videoMedia.controls = false; videoMedia.load(); }); }, function(e) { //下載視頻資源 var dtask = plus.downloader.createDownload(common.global_URL + jsonData[0].vdolink, { "filename": hb_path, "timeout": 10, "retry": 2 }, function(d, status) { if(status == 200) { videoMedia.src = sd_path; videoMedia.autoplay = true; videoMedia.controls = false; videoMedia.load(); } else { //直接跳轉首頁 mui.openWindow({ url: ‘webview_main.html‘, id: ‘webview_main.html‘, preload: true, show: { aniShow: ‘pop-in‘ }, waiting: { autoShow: false } }); } }); dtask.start(); });
參考連結:https://stackoverflow.com/questions/21980112/cordova-resolvelocalfilesystemurl-success-call-back-failing-on-ios
https://issues.apache.org/jira/browse/CB-6116
h5+ IOS App中判斷本地檔案是否存在 plus.io.resolveLocalFileSystemURL()