-
MediaSourceAPI可实现JavaScript动态控制视频流,其核心是通过MediaSource与SourceBuffer将分段媒体数据(如fMP4)注入video元素,适用于直播、点播、视频拼接等场景。使用时需创建MediaSource实例并绑定到video.src,等待sourceopen事件后添加指定MIME类型的SourceBuffer,再通过fetch获取数据并调用appendBuffer追加媒体片段,支持自定义缓冲与离线播放。需注意格式兼容性、CORS配置及内存管理,适时调用remov
-
HTML5<audio>标签不转码,仅通过多格式fallback实现兼容;需按MP3、M4A、OGG顺序提供源,并正确配置MIME类型与服务端转码。
-
drop事件未触发的根本原因是dragover默认被浏览器阻止,必须在dragover回调中调用event.preventDefault();需用Array.from转换dataTransfer.files为数组,校验应结合name后缀与type,跨iframe或ShadowDOM需分别在对应上下文绑定事件。
-
判断并高亮当前导航项需基于URL路径匹配:用window.location.pathname与链接路径前缀比对(startsWith),注意处理子目录部署、SPA路由响应式同步(如ReactRouter的NavLink或useMatch),并排查CSS优先级问题。
-
ChannelMessagingAPI通过MessageChannel创建双端口通道实现跨源双向通信。主页面创建channel,将port1发给iframe,双方用各自端口收发消息,如主页面postMessage、iframe监听并回复。相比postMessage,其优势为通信无需校验origin、更安全高效,适用于父子窗口高频交互场景。
-
BigInt是JavaScript中处理任意精度整数的原始类型,不可用Number替代,因后者受限于MAX_SAFE_INTEGER导致精度丢失,且BigInt与Number混合运算会抛TypeError。
-
vw/vh“不听话”因基于视口尺寸且受地址栏收放、横竖屏影响而突变;应优先用100dvh,降级用JS更新--vh变量;vmin/vmax适用于约束极端比例,非等比缩放;mix-blend-mode需配合isolation:isolate;calc内运算符前后须有空格,不可嵌套。
-
confirm()需在用户手势中调用并返回值阻断跳转,location.href等JS跳转须前置判断,异步场景应改用自定义弹窗;防数据丢失还需beforeunload事件兜底。
-
transform:rotate3d()绕Y轴旋转后元素顺序错乱,因浏览器按DOM顺序而非Z坐标渲染;需父容器设transform-style:preserve-3d,子项用translateZ+rotateY独立定位,禁用z-index,合理设置perspective和backface-visibility以兼容Safari。
-
WebView中软键盘弹出时页面不顶起怎么办AndroidWebView默认不会自动顶起页面内容,导致input聚焦后软键盘遮挡输入框。这不是HTML5的问题,而是WebView的渲染策略决定的——它把整个页面当做一个静态视口,键盘只是系统层浮层。在AndroidManifest.xml中对应Activity添加:android:windowSoftInputMode="adjustResize"(不是adjustPan)确保根布局是LinearLayout或RelativeLayout等支持重
-
CSS动画结合clip-path可实现形状变换等视觉效果,通过@keyframes控制圆形展开等过渡,需确保函数类型与参数一致,适用于图片蒙版、文字遮罩等场景,注意保持坐标点数量一致以保证流畅性。
-
答案:WebGL通过canvas获取渲染上下文,使用GLSL编写顶点和片元着色器,编译链接成程序后传递给GPU;顶点数据通过缓冲区对象从CPU传输到GPU,由属性变量解析,统一变量传递全局参数;渲染循环利用requestAnimationFrame逐帧清空缓冲、更新状态、设置着色器与数据,并调用绘制命令实现动画。
-
浮动布局是CSS承上启下的关键,源于文字绕图需求,本质是文本流局部偏移;需掌握clear与BFC触发(如display:flow-root)来解决塌陷;现代布局应优先选用Flex/Grid,float仅适用于图文混排或旧版兼容场景。
-
移动端videoautoplay失效因浏览器禁止无用户交互的自动播放,必须静音+在点击等同步事件中调用play(),并检查readyState≥2和playing事件确认生效。
-
答案:通过HTML结构搭建小圆点导航,使用CSS设置样式与transition动画,结合:hover伪类实现平滑交互效果,提升轮播图的用户体验。