怎么用js写入html文件
时间: 2024-11-15 16:26:29 浏览: 10
在JavaScript中,可以使用`FileWriter` API或者`fetch`配合`Blob`对象来向HTML文件中写入内容。以下是两种常见方法:
**方法一:使用FileWriter**
```javascript
// 创建一个FileWriter对象
const writer = new FileWriter('yourfile.html', 'UTF-8');
// 要写入的数据
const data = '<!DOCTYPE html><html><body>Hello, World!</body></html>';
// 写入数据到文件
writer.write(data);
// 完成后关闭writer
writer.onwriteend = function() {
console.log('写入完成');
};
writer.onerror = function(error) {
console.error('写入失败:', error);
};
// 开始写入
writer.seek(0); // 如果文件已存在,需要先移动指针到开头
writer.write(data);
```
**方法二:使用fetch + Blob + URL.createObjectURL**
```javascript
// 新建一个Blob对象存储要写入的数据
const blob = new Blob(['<!DOCTYPE html><html><body>Hello, World!</body></html>'], {type: 'text/html;charset=utf-8'});
// 使用fetch并设置响应类型为"blob"
fetch('yourfile.html', {method: 'PUT', body: blob}).then(response => {
if (response.ok) {
// 获取新的URL,并设置为document的innerHTML
const url = URL.createObjectURL(blob);
document.body.innerHTML = `<iframe src="${url}" sandbox="allow-scripts"></iframe>`;
// 清理URL对象防止内存泄露
window.addEventListener('unload', () => URL.revokeObjectURL(url));
} else {
console.error('写入失败:', response.statusText);
}
}).catch(error => console.error('写入错误:', error));
```
阅读全文