服务端3月1日 20:55
Service Worker 的浏览器兼容性如何?如何处理兼容性问题?## 核心回答
Service Worker 在 2026 年已获得所有主流浏览器的全面支持,兼容性得分达到 92/100。处理兼容性问题的核心思路是三点:**特性检测优先于浏览器检测**、**渐进增强而非降级开发**、**为不支持的功能提供回退方案**。
```javascript
// 最简兼容性检测模板
if ("serviceWorker" in navigator) {
navigator.serviceWorker.register("/sw.js").catch(() => fallback());
} else {
fallback();
}
```
## ...服务端3月1日 20:22
Service Worker 中常用的缓存策略有哪些?## Service Worker 中常用的缓存策略有哪些?
Service Worker 的核心能力之一就是拦截网络请求并控制缓存策略。不同的业务场景需要不同的策略组合,选错策略可能导致用户看到过期数据,或者离线时完全不可用。以下是前端面试中必须掌握的六种缓存策略。
## Cache First(缓存优先)
优先从缓存读取响应,缓存未命中时才发起网络请求,并将响应存入缓存。
**适用场景**:静态资源(CSS、JS、字体、图片),这些资源变化频率低,缓存命中率高。
```javascript
const CACHE_NAME = 'static-v1';
self.addE...服务端3月1日 00:15
Android中RecyclerView和ListView的区别是什么,为什么推荐使用RecyclerView?## 核心区别一览
RecyclerView从Android 5.0(API 21)引入,设计目标就是替代ListView。两者最本质的差异在于架构理念:ListView是一个大而全的控件,把布局、复用、点击都包在自己身上;RecyclerView则把职责拆散,布局交给LayoutManager,复用交给Recycler,动画交给ItemAnimator,装饰交给ItemDecoration——每个环节都可替换。
| 对比维度 | ListView | RecyclerView |
|------|----------|--------------|
| ViewHolder | 可...服务端2月24日 22:54
iframe 有哪些安全漏洞?如何防范?iframe 嵌入外部页面时,攻击面会显著增大。下面逐个拆解 iframe 的核心安全漏洞和对应防御方案。
## 点击劫持(Clickjacking)
攻击者用透明 iframe 覆盖在合法页面上,用户以为点击的是可见按钮,实际触发的是隐藏 iframe 里的操作——比如转账、授权、删除账户。
**攻击代码示例**:
```html
<style>
.overlay {
position: absolute;
top: 0; left: 0;
opacity: 0;
z-index: 999;
width: 100%; height: ...服务端3月1日 20:29
Service Worker Background Sync 是什么?怎么用?## Service Worker Background Sync 是什么?
Background Sync 是 Service Worker 提供的一种延迟任务机制——当用户离线时发起的操作(如表单提交、消息发送),会在网络恢复后自动重试,用户不需要停留在页面上,也不需要手动操作。
它解决的核心痛点很简单:**离线操作不应该丢失**。传统做法是监听 `online` 事件再重试,但用户可能已经关掉了页面。Background Sync 让这个重试逻辑跑在 Service Worker 里,即使用户离开了网站也能执行。
## 怎么用?三步走
### 第一步:主页面注册 sync ...服务端2月28日 23:09
在 React 项目中如何正确使用 axios?在 React 项目中使用 axios,核心挑战不在于发送请求本身,而在于如何让请求逻辑与 React 的组件生命周期、状态管理、性能优化正确配合。许多开发者会写 axios 调用,却在内存泄漏、竞态条件、重复请求等问题上频频踩坑。
## 一、为什么 React 项目需要封装 axios
直接在每个组件中 `import axios from 'axios'` 然后调用,看似简单,但会带来三个问题: baseURL 和超时配置散落各处、token 刷新逻辑无法统一处理、错误处理方式不一致。
## 创建统一的请求实例
```javascript
// services/reques...服务端2月24日 22:52
iframe 响应式设计怎么做?6 种方案与安全考点全解析iframe 在响应式设计中面临独特挑战:它嵌入的内容通常来自外部源,无法直接控制样式和布局,且元素本身不能自动伸缩。下面从面试高频考点出发,逐层拆解实现方案。
## 核心思路:让 iframe 宽度自适应
最基础的做法是让 iframe 宽度跟随父容器:
```html
<iframe
src="https://example.com/content"
width="100%"
height="500"
style="border: none;">
</iframe>
```
这种方式简单,宽度能自适应,但高度固定,内容可能被截断或留白。真正的响应式需要解决高度...服务端2月24日 22:49
iframe 的同源策略是什么?跨域 iframe 如何通信?同源策略是浏览器最核心的安全机制,它规定协议、域名、端口三者完全相同的两个页面才属于同源。iframe 作为一个独立的浏览上下文,其内容必须遵守同源策略——跨域 iframe 无法直接访问父页面的 DOM、Cookie 和 JavaScript 对象。
## 同源的判定规则
三个条件必须同时满足:协议相同(http/https)、域名相同、端口相同。任何一个不同即为跨域。
```javascript
// 与 https://example.com/page.html 同源
https://example.com/other.html
https://example.com/sub...服务端2月24日 22:42
什么是 iframe?它有哪些常用属性和安全注意事项?iframe(Inline Frame)是 HTML 中的内联框架元素,用于在当前页面中嵌入另一个独立的 HTML 文档。iframe 拥有独立的浏览器上下文、DOM 树和 JavaScript 执行环境,与父页面相互隔离。
## 基本语法
```html
<iframe src="https://example.com" width="600" height="400" title="嵌入内容描述"></iframe>
```
`title` 属性不可省略,它为屏幕阅读器提供无障碍描述,缺少 `title` 会导致可访问性审查报错。
## 常用属性详解
**src** — 指...服务端2月24日 22:55
iframe 的可访问性如何实现?有哪些 iframe 可访问性的最佳实践?iframe 的可访问性是一个重要的考虑因素,因为屏幕阅读器和其他辅助技术需要能够正确理解和导航 iframe 内容。良好的可访问性实践可以确保所有用户,包括残障用户,都能够有效使用 iframe 内容。
## iframe 可访问性基础
### 1. 使用 title 属性
为 iframe 提供描述性的 title 属性,帮助屏幕阅读器用户理解 iframe 的用途。
```html
<!-- 不推荐:缺少 title -->
<iframe src="https://example.com/video"></iframe>
<!-- 推荐:提供描述性 title -->
...