gpt4 book ai didi

html - 缓存 list 中的设备特定资源管理

转载 作者:行者123 更新时间:2023-11-28 02:09:30 25 4
gpt4 key购买 nike

有没有一种方法可以针对每个设备的缓存中的某些资源。

我正在开发一个离线 html5 音频播放器。显然,我必须根据 HTML5 规范指定文件类型,例如用于 webkit 的 Mp3 和用于 firefox 的 Vorbis 等。但是,对于在 iPhone 等移动设备上使用,我只想获取在这种情况下播放 mp3 所需的文件。有没有办法让我告诉浏览器缓存特定文件,或者他们是否必须添加所有资源,无论如何。从而消除了用户不得不缓存更多所需文件和超出限制的负担(我知道在移动 safari 中只能缓存 10MB。)

这是我的 list 。

CACHE MANIFEST

CACHE:

index.html
master.js
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
style.css
buttons.png
coldplay.jpg
/player/tunes/waterfall-audio.m4a
/player/tunes/waterfall-audio.oga

很明显,在 firefox 中我只需要缓存 oga 和 webkit mp3。任何见解都会很棒!

最佳答案

如何使用

/player/tunes/getDeviceAudio.php/waterfall-audio.audio

代替

/player/tunes/waterfall-audio.m4a

和 PHP 代码(您可以为另一种语言实现)

<?php
// replace the name
$filename = preg_replace('/.audio$/iu', '', $_SERVER['PATH_INFO']); // waterfall-audio
$ext = '';
switch ($_SERVER['HTTP_USER_AGENT']) {
default:
case 'a user agent string': $ext = '.oga'; break;
case 'another user agent string': $ext = '.m4a'; break;
}
$filepath = "/path/to/audio/" . $filename.$ext;

echo file_get_contents($filepath);

浏览器会认为,这是一个要缓存的文件,并且会为确切的设备缓存。每个设备都会缓存其 userAgent 支持的正确文件。

关于html - 缓存 list 中的设备特定资源管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com