# Patch工具HTML引号转义陷阱

## 问题

当用 `patch` 工具修改HTML中 `<script>` 内的JS代码时，包含 `style="..."` 等带引号HTML属性的字符串会被双重转义。

### 示例

**要写入的内容**（期望）:
```js
h+='<b style="color:var(--bad)">文本</b>';
```

**patch工具实际写入**:
```js
h+='<b style=\\"color:var(--bad)\\">文本</b>';
```

最终HTML文件中变成 `\\"`，浏览器解析时引号丢失，HTML属性不闭合。

### 症状
- `node --check` 通过（JS语法正确）
- 浏览器中某些元素空白或显示错误
- `innerHTML` 设置的HTML内容不完整

## 修复方法

### 方法1：用Python直接替换（推荐）

```python
with open('file.html') as f: content = f.read()
content = content.replace(old_str, new_str)
with open('file.html', 'w') as f: f.write(content)
```

### 方法2：使用textContent替代innerHTML

当不需要HTML标签时，改用 `textContent` 避免所有转义问题：
```js
el.textContent = '纯文本' + value + ' | 无HTML标签';
```

### 方法3：使用单引号+转义

```js
h+='<b style="color:var(--bad)">文本</b>';   // 外层单引号，内层双引号
```

但patch工具仍可能干扰。最可靠的是方法1。
