Ois*_*ery 6 html javascript image webp
webP 有 javascript API 吗?
我想寻找动画 webP 中的特定点。我没有遇到任何文件表明它确实如此,但询问 SO 并没有什么害处。
注意:我对 HTML5 视频元素、webM 或其他视频格式不感兴趣。
Bea*_*ist -1
\n\nwebP 有 JavaScript API 吗?
\n
在我看来,webP 不被支持作为API
. 但您可以在后端和前端控制它们。
最后一个,我所理解的,能够被操纵得不是很有效,但是被简化了!
\n例如?
\n(但是我不建议这样做,例如这里):
\n[].slice.apply(document.images).filter(is_webp_image).map(pause_webp);\n\nconst is_webp_image=(i)=> {\n return /^(?!data:).*\\.webp/i.test(i.src);\n}\n\nconst pause_webp=(i)=> {\n var c = document.createElement(\'canvas\');\n var w = c.width = i.width;\n var h = c.height = i.height;\n c.getContext(\'2d\').drawImage(i, 0, 0, w, h);\n try {\n i.src = c.toDataURL("image/webp"); // if possible, retain all css aspects\n } catch(e) { // cross-domain -- mimic original with all its tag attributes\n for (var j = 0, a; a = i.attributes[j]; j++)\n c.setAttribute(a.name, a.value);\n i.parentNode.replaceChild(c, i);\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n那分别是暂停 webp 或 gif。
\n为了控制播放,我建议像这样的伪代码一样在后端对 webp 进行切片;给定一个 webp 文件变量和一些自制或采用的后端 API(请参阅这只是一个示例):
\n// pseudocode on backend:\n var li=[];\n for(var itr=0;itr<len(webp)/*how long*/ ;itr++){\n list.push( giveWebURI (webp.slice(itr,len(webp)))); \n// ^ e.g http://example.org/versions/75-sec-until-end.webp# \n };\n
Run Code Online (Sandbox Code Playgroud)\n然后在前端JS:
\n const playFrom=(time)=>{\n document.querySelector(/*selector*/).src=`\nhttp://example.org/versions/${time}-sec-until-end.webp\n `;\n };\n
Run Code Online (Sandbox Code Playgroud)\n我将其称为后端/前端/文件交互的介绍。
\n