AudioContext 为什么会从 suspended 开始,必须在哪类事件里 resume 才可靠?
AudioContext 为什么会从 suspended 开始,必须在哪类事件里 resume 才可靠? 本文先给出可直接复述的结论,再用最小代码说明AudioContext suspended resume 用户手势的工作方式、判断依据、项目边界和常见误区。
文件与多媒体专题面试题第 1 页,显示第 1–47 题,共找到 47 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
AudioContext 为什么会从 suspended 开始,必须在哪类事件里 resume 才可靠? 本文先给出可直接复述的结论,再用最小代码说明AudioContext suspended resume 用户手势的工作方式、判断依据、项目边界和常见误区。
浏览器自动播放策略下,为什么 muted 常能播而带声音失败,如何检测并降级? 本文先给出可直接复述的结论,再用最小代码说明自动播放策略 muted play() Promise的工作方式、判断依据、项目边界和常见误区。
上传超大文件时用 Blob.slice 分片的边界条件是什么? 本文先给出可直接复述的结论,再用最小代码说明Blob slice 大文件 分片上传的工作方式、判断依据、项目边界和常见误区。
Blob.type 为空时能不能根据内容嗅探类型,浏览器给出什么保证? 本文先给出可直接复述的结论,再用最小代码说明Blob type MIME 嗅探 浏览器的工作方式、判断依据、项目边界和常见误区。
用 requestAnimationFrame 驱动 Canvas 动画时,组件隐藏或卸载要取消什么避免幽灵绘制? 本文先给出可直接复述的结论,再用最小代码说明Canvas requestAnimationFrame cancelAnimationFrame 清理的工作方式、判断依据、项目边界和常见误区。
createImageBitmap 相比直接 new Image 解码,在 Canvas 高频绘制中解决什么问题? 本文先给出可直接复述的结论,再用最小代码说明createImageBitmap Image Canvas 解码 性能的工作方式、判断依据、项目边界和常见误区。
Canvas 在高 DPR 屏幕上模糊时,应该怎样按 devicePixelRatio 设置尺寸与变换? 本文先给出可直接复述的结论,再用最小代码说明Canvas devicePixelRatio 模糊 高清屏的工作方式、判断依据、项目边界和常见误区。
CanvasRenderingContext2D.filter 能直接替代离线预处理图片滤镜吗,边界是什么? 本文先给出可直接复述的结论,再用最小代码说明Canvas filter ctx.filter 兼容性 性能的工作方式、判断依据、项目边界和常见误区。
频繁整幅 getImageData/putImageData 的瓶颈在哪里,什么局部策略能降低主线程压力? 本文先给出可直接复述的结论,再用最小代码说明Canvas getImageData putImageData 性能 像素的工作方式、判断依据、项目边界和常见误区。
Canvas 的 globalCompositeOperation 在蒙版、橡皮擦、高亮中应如何选择而不是试错? 本文先给出可直接复述的结论,再用最小代码说明Canvas globalCompositeOperation 蒙版 橡皮擦的工作方式、判断依据、项目边界和常见误区。
Path2D 适合缓存什么,为什么复杂图形重绘和命中检测会受益? 本文先给出可直接复述的结论,再用最小代码说明Canvas Path2D 缓存 isPointInPath的工作方式、判断依据、项目边界和常见误区。
CanvasRenderingContext2D.save/restore 滥用为什么会让绘制变慢,应如何界定栈边界? 本文先给出可直接复述的结论,再用最小代码说明Canvas save restore 状态栈 性能的工作方式、判断依据、项目边界和常见误区。
为什么跨域图片画进 Canvas 后 getImageData 会抛错,如何合法解除污染? 本文先给出可直接复述的结论,再用最小代码说明Canvas getImageData tainted CORS 跨域的工作方式、判断依据、项目边界和常见误区。
Canvas 文本排版为什么必须依赖 measureText 而不是按字符数估算换行? 本文先给出可直接复述的结论,再用最小代码说明Canvas measureText 文本 换行的工作方式、判断依据、项目边界和常见误区。
导出画布时 HTMLCanvasElement.toBlob 与 toDataURL 的差异和选型依据是什么? 本文先给出可直接复述的结论,再用最小代码说明Canvas toBlob toDataURL 导出 差异的工作方式、判断依据、项目边界和常见误区。
getContext('2d', { willReadFrequently:true }) 应该在什么读回模式下开启,代价是什么? 本文先给出可直接复述的结论,再用最小代码说明Canvas willReadFrequently getContext 2d的工作方式、判断依据、项目边界和常见误区。
navigator.clipboard.readText 读取剪贴板前应如何提示并处理空内容、权限拒绝与格式不符? 本文先给出可直接复述的结论,再用最小代码说明Clipboard readText 权限 拒绝 空内容的工作方式、判断依据、项目边界和常见误区。
navigator.clipboard.writeText 为什么常在非用户激活或权限被拒时失败? 本文先给出可直接复述的结论,再用最小代码说明Clipboard API writeText 权限 用户激活的工作方式、判断依据、项目边界和常见误区。
用 ClipboardItem 写入 text/html 与 text/plain 时,为什么要同时提供纯文本并清洗 HTML? 本文先给出可直接复述的结论,再用最小代码说明ClipboardItem text/html text/plain 剪贴板 清洗的工作方式、判断依据、项目边界和常见误区。
copy/cut/paste 事件里的 event.clipboardData 与 Clipboard API 读写有什么分工和限制? 本文先给出可直接复述的结论,再用最小代码说明copy paste 事件 clipboardData Clipboard API的工作方式、判断依据、项目边界和常见误区。
拖放自定义数据用 setData 自定义 MIME 时,什么信息不该放,跨窗口读取边界是什么? 本文先给出可直接复述的结论,再用最小代码说明DataTransfer setData 自定义 MIME 拖放 安全的工作方式、判断依据、项目边界和常见误区。
DataTransfer.items、files、types 在读取拖入内容时分别解决什么判断? 本文先给出可直接复述的结论,再用最小代码说明DataTransfer items files types 拖入 文件的工作方式、判断依据、项目边界和常见误区。
HTML 拖放中为什么必须阻止 dragover 默认行为,drop 才大概率触发? 本文先给出可直接复述的结论,再用最小代码说明dragover preventDefault drop 拖放的工作方式、判断依据、项目边界和常见误区。
拖放交互里 effectAllowed 与 dropEffect 不一致会造成什么视觉与结果错配? 本文先给出可直接复述的结论,再用最小代码说明effectAllowed dropEffect 拖放 光标的工作方式、判断依据、项目边界和常见误区。
drop 事件拿到 FileList 后,前端应先做哪些尺寸、类型、数量校验再进入解析? 本文先给出可直接复述的结论,再用最小代码说明drop FileList 文件 校验 size type的工作方式、判断依据、项目边界和常见误区。
enumerateDevices 为什么在授权前 label 为空,拿到流后应如何刷新设备列表? 本文先给出可直接复述的结论,再用最小代码说明enumerateDevices label 权限 devicechange的工作方式、判断依据、项目边界和常见误区。
为什么不能信任 File.name 与 File.lastModified 做唯一键或新鲜度判断? 本文先给出可直接复述的结论,再用最小代码说明File name lastModified 可信边界的工作方式、判断依据、项目边界和常见误区。
File 与 Blob 在浏览器中有什么本质区别,什么时候不能只按 Blob 处理? 本文先给出可直接复述的结论,再用最小代码说明File 与 Blob 的区别的工作方式、判断依据、项目边界和常见误区。
FileReader 的 readAsText、readAsArrayBuffer、readAsDataURL 应如何按消费方式选择? 本文先给出可直接复述的结论,再用最小代码说明FileReader readAsArrayBuffer readAsDataURL 选择的工作方式、判断依据、项目边界和常见误区。
视频全屏应该请求 video 元素还是容器元素,iOS 行为差异为什么要单列? 本文先给出可直接复述的结论,再用最小代码说明requestFullscreen video iOS webkitEnterFullscreen的工作方式、判断依据、项目边界和常见误区。
getDisplayMedia 请求屏幕共享时,audio、surfaceSwitching、preferCurrentTab 等约束应怎样向用户解释? 本文先给出可直接复述的结论,再用最小代码说明getDisplayMedia 屏幕共享 audio constraints的工作方式、判断依据、项目边界和常见误区。
getUserMedia 的 ideal/exact/deviceId 约束怎样设计降级,OverconstrainedError 后如何重试? 本文先给出可直接复述的结论,再用最小代码说明getUserMedia 约束降级 OverconstrainedError 重试的工作方式、判断依据、项目边界和常见误区。
<input type=file> 的 accept 属性能否当作安全校验,失败体验应怎样兜底? 本文先给出可直接复述的结论,再用最小代码说明input file accept 属性 校验的工作方式、判断依据、项目边界和常见误区。
在选清晰度前用 MediaCapabilities.decodingInfo 判断什么,不能拿它保证什么? 本文先给出可直接复述的结论,再用最小代码说明MediaCapabilities decodingInfo 解码 能力的工作方式、判断依据、项目边界和常见误区。
HTMLMediaElement 的 readyState、canplay、loadeddata、canplaythrough 应分别用来开门什么交互? 本文先给出可直接复述的结论,再用最小代码说明HTMLMediaElement readyState canplay loadeddata的工作方式、判断依据、项目边界和常见误区。
<video> 的 preload=none/metadata/auto 在移动网络下应如何选择,不能假设什么? 本文先给出可直接复述的结论,再用最小代码说明video preload none metadata auto的工作方式、判断依据、项目边界和常见误区。
拖动 HTMLMediaElement.currentTime 时如何用 buffered 与 seeking/seeked 判断卡顿是否来自未缓冲? 本文先给出可直接复述的结论,再用最小代码说明video 拖动 buffered 判断缓冲卡顿的工作方式、判断依据、项目边界和常见误区。
MediaRecorder 选型时如何校验 MIME 支持,start(timeslice) 对 ondataavailable 有什么影响? 本文先给出可直接复述的结论,再用最小代码说明MediaRecorder isTypeSupported timeslice ondataavailable的工作方式、判断依据、项目边界和常见误区。
MediaRecorder.stop 后为什么不能立刻用已收 Blob,还要等最后一次 dataavailable? 本文先给出可直接复述的结论,再用最小代码说明MediaRecorder stop dataavailable Blob的工作方式、判断依据、项目边界和常见误区。
Media Source Extensions 中向 SourceBuffer appendBuffer 为什么要等待 updateend,乱序追加会怎样? 本文先给出可直接复述的结论,再用最小代码说明MSE SourceBuffer appendBuffer 顺序 updateend的工作方式、判断依据、项目边界和常见误区。
Safari 原生可播 HLS 而其他桌面浏览器常走 MSE 时,播放器封装应如何分流? 本文先给出可直接复述的结论,再用最小代码说明HLS canPlayType MSE 播放器 分流的工作方式、判断依据、项目边界和常见误区。
URL.createObjectURL 创建的地址为什么要 revokeObjectURL,泄漏会怎样表现? 本文先给出可直接复述的结论,再用最小代码说明createObjectURL revokeObjectURL 内存泄漏的工作方式、判断依据、项目边界和常见误区。
OffscreenCanvas 什么时候该转移到 Worker,转移所有权后主线程还能做什么? 本文先给出可直接复述的结论,再用最小代码说明OffscreenCanvas transferControlToOffscreen Worker的工作方式、判断依据、项目边界和常见误区。
Permissions API query 摄像头/麦克风状态时,name 支持与 change 事件边界是什么? 本文先给出可直接复述的结论,再用最小代码说明Permissions API query camera microphone的工作方式、判断依据、项目边界和常见误区。
setDragImage 自定义拖拽预览图时,图像来源和 offset 设置有哪些坑? 本文先给出可直接复述的结论,再用最小代码说明setDragImage offset 拖拽预览的工作方式、判断依据、项目边界和常见误区。
结束摄像头采集时为什么必须 stop 所有 MediaStreamTrack 而不是只移除 video.srcObject? 本文先给出可直接复述的结论,再用最小代码说明MediaStreamTrack stop srcObject 摄像头 指示灯的工作方式、判断依据、项目边界和常见误区。
Web Audio 中 decodeAudioData 得到 AudioBuffer 后,播放采样率与 AudioContext 不一致会怎样? 本文先给出可直接复述的结论,再用最小代码说明Web Audio decodeAudioData AudioBuffer sampleRate的工作方式、判断依据、项目边界和常见误区。