将字符串保存为文本文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Save As Plain Text</title>
</head>
<body>
<input type="button" id="button" value="Save As" />
<script type="text/javascript">
window.onload = function(event) {
main()
}
function main() {
const button = document.getElementById('button')
button.onclick = (event) => {
console.log(event)
const content = 'a plain text.'
const blob = new Blob([ content ], {type: "text/plain;charset=utf-8"})
const objectURL = URL.createObjectURL(blob)
const anchor = document.createElement('a')
anchor.href = objectURL
anchor.download = "plaintext.txt"
anchor.click()
URL.revokeObjectURL(objectURL)
}
}
</script>
</body>
</html>
将字符串保存为 Markdown 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Save As Markdown</title>
</head>
<body>
<input type="button" id="button" value="Save As" />
<script type="text/javascript">
window.onload = function(event) {
main()
}
function main() {
const button = document.getElementById('button')
button.onclick = (event) => {
console.log(event)
const content = '# 一级标题\n## 二级标题'
const blob = new Blob([ content ], { type: 'text/markdown' })
const objectURL = URL.createObjectURL(blob)
const anchor = document.createElement('a')
anchor.href = objectURL
anchor.download = "markdown.md"
anchor.click()
URL.revokeObjectURL(objectURL)
}
}
</script>
</body>
</html>
将字符串保存为 HTML 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Save As HTML</title>
</head>
<body>
<input type="button" id="button" value="Save As" />
<script type="text/javascript">
window.onload = function(event) {
main()
}
function main() {
const button = document.getElementById('button')
button.onclick = (event) => {
console.log(event)
const content = "<p>It's a html file</p>"
const blob = new Blob([ content ], { type: 'text/html' })
const objectURL = URL.createObjectURL(blob)
const anchor = document.createElement('a')
anchor.href = objectURL
anchor.download = "html.html"
anchor.click()
URL.revokeObjectURL(objectURL)
}
}
</script>
</body>
</html>
参考
Web APIs - Blob
Web APIs - Blob - Blob()
The Blob Interface and Binary Data - Constructors
MIME types (IANA media types)
Media Types - text