把一段 HTML 变成 JavaScript 里的字符串(引号、反斜杠、换行、</script> 都替你转好),或者反过来,从一段 JS 代码里把 HTML 字符串抠出来。
+(每行一段,带 \n)\n).join()document.write(...)元素.innerHTML = ...全部在浏览器本地完成,代码不上传。
</script> 一定要转义成 <\/script>,否则把这段字符串放进页面的 <script> 里会提前闭合标签。工具默认帮你做,别关掉。` 和 ${ 会被转义,避免破坏字面量或误触发插值。<pre>、<textarea> 等对空白敏感的标签里内容会被重排,谨慎使用。| 模式 | 输出示例 | 适合 |
|---|---|---|
| 模板字符串 | const html = `<div>…</div>`; |
现代前端,多行最清爽 |
拼接 + |
'<div>\n' +\n ' <p>…</p>\n' +\n '</div>' |
需要兼容很老的环境 |
| 数组 join | ['<div>', '</div>'].join('\n') |
逐行拼、便于增删 |
| document.write | document.write(\…`);` |
老式脚本、快速塞内容(不推荐用于正式页面) |
| innerHTML | box.innerHTML = \…`;` |
直接渲染到某个元素 |
Q:为什么输出里 / 没有被转义?
A:JS 字符串里的 / 不需要转义,只有正则字面量才需要。工具只转真正会出问题的字符(\、引号、</script>、模板里的 ` 和 ${)。
Q:模板字符串和拼接怎么选?
A:能用 ES6 就用模板字符串,多行 HTML 直接原样贴进去最省事。只有要兼容 IE 之类的老环境才用 + 拼接。
Q:JS→HTML 抠出来有多余的东西?
A:工具会把代码里每一个字符串都拼进来,包括不是 HTML 的(比如 console.log('x') 里的 'x')。删掉多余行即可。
Q:能压缩 / 美化代码吗? A:这个工具专注互转。美化 JS 用 JS 美化工具,压缩用专门的压缩工具。
Q:数据会上传吗? A:不会,纯浏览器本地转换。
相关:HTML 编解码 · 正则代码生成 · Base64 编解码 · 文本对比 · JSON 工具。