Typora 不执行 HTML 脚本与交互功能,仅静态渲染标签样式;需用 `html 代码块显示原始 HTML;真要运行须导出为 HTML 文件并在浏览器中打开。

Typora 默认不执行 HTML,只渲染为静态内容
Typora 本质是 Markdown 编辑器,不是浏览器。它会解析 <div>、<button> 这类标签并渲染成对应样式(比如加粗、换行、颜色),但不会运行 JavaScript、不触发事件、不执行 <script> 或 <iframe>。你看到的只是“看起来像 HTML 的排版效果”,不是真实运行环境。
常见错误现象:
– 写了 <script>alert(1)</script>,预览里完全没反应
– 用 <input type="text">,点不动、输不了字
– <video> 标签只显示空白或占位符,不播放
- 所有内联脚本(
<script>)和外部脚本(<script src="..."></script>)都会被忽略 - 表单控件(
<input>、<select>、<textarea>)仅作视觉呈现,无交互能力 - 部分语义化标签(如
<details>、<summary>)在较新 Typora 版本中可展开/折叠,但这是编辑器内置支持,不是 HTML 原生行为
如何让 Typora 显示原始 HTML 代码块(而非渲染)
如果你写的是演示用的 HTML 片段,想让它以「代码形式」展示出来(比如教学、文档说明),必须显式声明为代码块,并指定语言为 html:
<div class="notice">这是一个提示框</div>
这样 Typora 才会在预览中高亮并原样显示,而不是把它当真实 HTML 渲染掉。
立即学习“前端免费学习笔记(深入)”;
- 别漏掉语言标识:只写
```不够,得是```html - 如果用了
```但没标语言,Typora 可能按纯文本或默认语言(如 markdown)处理,导致意外渲染 - 注意缩进:HTML 代码块内部缩进不影响渲染,但影响可读性;Typora 不校验 HTML 合法性,错漏标签也不会报错
想真正运行 HTML?得换工具链
Typora 不是开发环境,它不提供 DOM 操作、事件监听或网络请求能力。真要调试 HTML + JS,必须导出后用浏览器打开。
- 导出为 HTML 文件:
文件 → 导出 → HTML,生成的.html文件可在 Chrome/Firefox 中完整运行 - 导出时勾选
包含 CSS 样式,否则自定义样式可能丢失 - 若 HTML 中引用了本地资源(如
<img src="pic.jpg">),确保图片跟导出的 HTML 在同一目录,或改用相对路径 - Typora 的「实时预览」永远只是渲染快照,不是沙箱环境 —— 别指望在这里测 onclick、fetch 或 localStorage
兼容性与版本差异要注意的点
不同 Typora 版本对 HTML 标签的支持程度不一。v1.0+ 加强了对部分现代标签的视觉支持,但逻辑上依然不执行。
-
<mark>、<time>、<ruby>等语义标签在新版中可能有基础样式,旧版直接忽略或显示为普通文字 -
<style>块内的 CSS 大部分被忽略(极少数内联样式如color:red可能生效),但不要依赖它 - Windows/macOS/Linux 下行为一致,但字体渲染、行高等细微差别仍存在
- 如果你在用 Typora 的「数学公式」或「图表(mermaid)」功能,它们和 HTML 是平行渲染层,混用时注意层级覆盖问题(比如
<div style="z-index:999">对 mermaid 图无效)
最常被忽略的一点:你以为粘贴进来的 HTML 片段“能动”,其实只是 Typora 把它当富文本糊出来了。实际运行前,务必导出到浏览器验证 —— 尤其涉及用户输入、异步加载或第三方库时。











