ios - 304 在 iOS Cordova 应用上播放 html5 视频时未修改
问题描述
我正在将外部(Vimeo).mp4 加载到 Ionic Framework 应用程序中的标准 HTML5 视频标签中,除了在 iOS 上工作正常:
Vimeo 的外部链接(例如https://player.vimeo.com/external/
)转发到他们在此处https://gcs-vimeo.akamaized.net
描述的地址。
在 iOS 上,初始加载是从Source: Disk Cache
. 但是,当离开此页面,或停止并尝试重播视频时,它会返回Status: 304 Not Modified
响应,因为它期望视频再次从缓存中加载,我期望。但是,在应用程序中,视频不是从缓存中加载的,我只是得到一个损坏的播放器(找不到源)。
视频标签如下所示:
<div class="player">
<video class="player__video viewer toggle" #exerciseVideo [src]="exercise.video | vimeoVideoUrl | safe:'resourceUrl'" [poster]="exercise.images[0] | awsImageUrl:'medium' | safe:'resourceUrl'" controls playsinline loop tappable></video>
</div>
关于如何在第二次播放时(理想情况下)从缓存中加载它的任何帮助,或者如何每次强制执行新的网络请求将不胜感激。
解决方案
我已经尝试了一切,包括以下帖子:
iOS:收到“304 Not Modified”响应时 AVPlayerItem 中的错误
嵌入的 HTML 5 视频存储在缓存中,但在 iPad 2 上不显示
但是,我必须实施以使其在 iOS 上运行的绝对核选项是附加的?time-in-milliseconds
以以下代码为例:
const currentDate = new Date();
const currentTime = currentDate.getTime();
return `${environment.VIMEO_SRC}${videoInput.video}${environment.VIMEO_SPEC_TRAIL}?${currentTime}`;
欢迎任何其他反馈。
推荐阅读
- ios - 带有 Ipad pro IOS 13 的第 8 面墙在请求摄像头访问时循环
- javascript - 如何使用正则表达式过滤用户在 Vuetify 组合框中输入的内容以创建芯片?
- flutter - 如何在不创建无休止的 TextEditingController 的情况下保存不同的 Textfield 值
- cucumber - 使用 WebdriverIO 和 Cucumber 上传文件
- php - 带有波斯文件名的php getimagesize
- javascript - 如何使用 JavaScript 在新窗口中从主页打开功能?
- javascript - 猫鼬不居住
- javascript - React - MUI - 无法取消选择多选中的所有项目
- google-cloud-platform - 如何跟踪 Google Cloud 公共数据集的变化?
- sql - 投射后“锚点和递归部分之间的类型不匹配”