blobLoad(src, obj) { let self = this; const req = new XMLHttpRequest(); req.open("GET", src, true); req.responseType = "blob"; req.onload = function () { // Onload is triggered even on 404 // so we need to check the status code if (this.status === 200) { const videoBlob = this.response; const blobSrc = URL.createObjectURL(videoBlob); // IE10+ // Video is now downloaded // and we can set it as source on the video element // blobSrc 便是虛擬的本地地址 } }; req.onerror = function () { // Error }; req.send(); },
可通過 ajax 請求將文件緩存為本地 blob,並由 URL.createObjectURL 緩存到本地。之后使用 blobSrc 作為靜態資源地址即可。blobSrc 的生存周期與頁面一致。