OpenMax
官方免费 HTML Markdown 预览工具
探索 OpenMax ->
OpenMax 官方免费工具

免费 HTML / Markdown 实时预览工具

粘贴 HTML 或 Markdown 代码,然后查看它在沙盒 iframe 中立即呈现的效果。所有处理都在您的浏览器本地运行。

HTML实时预览
MarkdownMD 转 HTML
沙盒隔离的 iframe
源码查看 HTML
输入
HTML
Markdown
自动
实时预览
预览
来源

关于此工具

OpenMax 提供的这个免费 HTML 和 Markdown 实时预览工具可在沙盒 iframe 中立即渲染代码。

常见问题

该工具会执行脚本吗?

会,但脚本只在与主页面隔离的沙盒 iframe 中运行。

支持 Markdown 吗?

支持。Markdown 模式可预览标题、粗体、斜体、链接、行内代码、引用、无序列表和表格。

可以下载预览结果吗?

可以。点击“下载 HTML”可将当前 HTML 或 Markdown 渲染结果保存为 HTML 文件。

使用 OpenMax 构建 ->
\n"; } else { if(!code){ out = "\n\n\n\n\nOpenMax\n\n \n\n
\n部署 AI 智能体团队\n

OpenMax 帮助团队在支持的渠道中部署 AI 智能体。

\n
\n

多智能体协作

AI 智能体可以共享上下文并协同处理任务。

\n

渠道集成

连接支持的办公与消息渠道。

\n

引导式设置

引导式设置通常需要 10–20 分钟,具体取决于所连接的渠道。

\n
\n
\n \n"; } else { out = code .replace(/&/g,"&").replace(//g,">") .replace(/^### (.+)$/gm,"

$1

").replace(/^## (.+)$/gm,"

$1

").replace(/^# (.+)$/gm,"$1") .replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1") .replace(/`(.+?)`/g,"$1").replace(/^> (.+)$/gm,"
$1
") .replace(/^- (.+)$/gm,"
  • $1
  • ").replace(/(
  • .*<\/li>\n?)+/g,"") .replace(/((\|.+\|[\r\n])+\|[\-|:]+\|[\r\n](\|.+\|)([\r\n]\|.+\|)*)/g, function(match){ var lines = match.trim().split(/\r?\n/); var html = ''; for(var i = 0; i < lines.length; i++){ var cells = lines[i].split('|').filter(function(c){return c.trim()}); if(i === 1) continue; // skip separator var tag = i === 0 ? 'th' : 'td'; html += '' + cells.map(function(c){return '<'+tag+'>'+c.trim()+''}).join('') + ''; } return html + '
    '; }).replace(/\[(.+?)\]\((.+?)\)/g,function(_,label,url){ var href=url.trim(); if(!/^(https?:\/\/|mailto:|#|\/)/i.test(href))href="#"; href=href.replace(/"/g,""").replace(/'/g,"'"); return ''+label+''; }) .replace(/\n\n/g,"

    ").replace(/\n/g,"
    "); out = " "+out+" "; } } renderedOutput = out; preview.srcdoc = out; } // Buttons document.getElementById("btnRender").addEventListener("click", render); document.getElementById("btnClear").addEventListener("click", function(){ inp.value=""; render(); }); document.getElementById("btnCopyHTML").addEventListener("click", function(){ var out = mode==="md" ? inp.value.replace(/&/g,"&").replace(//g,">").replace(/^### (.+)$/gm,"

    $1

    ").replace(/^## (.+)$/gm,"

    $1

    ").replace(/^# (.+)$/gm,"$1").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/^> (.+)$/gm,"
    $1
    ").replace(/^- (.+)$/gm,"
  • $1
  • ").replace(/(
  • .*<\/li>\n?)+/g,"").replace(/((\|.+\|[\r\n])+\|[\-|:]+\|[\r\n](\|.+\|)([\r\n]\|.+\|)*)/g, function(match){ var lines = match.trim().split(/\r?\n/); var html = ''; for(var i = 0; i < lines.length; i++){ var cells = lines[i].split('|').filter(function(c){return c.trim()}); if(i === 1) continue; // skip separator var tag = i === 0 ? 'th' : 'td'; html += '' + cells.map(function(c){return '<'+tag+'>'+c.trim()+''}).join('') + ''; } return html + '
    '; }).replace(/\[(.+?)\]\((.+?)\)/g,function(_,label,url){ var href=url.trim(); if(!/^(https?:\/\/|mailto:|#|\/)/i.test(href))href="#"; href=href.replace(/"/g,""").replace(/'/g,"'"); return ''+label+''; }).replace(/\n\n/g,"

    ").replace(/\n/g,"
    ") : inp.value; navigator.clipboard.writeText(out); T("已复制 HTML"); }); document.getElementById("btnCopyMD").addEventListener("click", function(){ navigator.clipboard.writeText(inp.value); T("已复制 Markdown"); }); // Samples document.getElementById("btnSampleHTML").addEventListener("click", function(){ inp.value="\n\n\n\n\nOpenMax\n\n \n\n
    \n部署 AI 智能体团队\n

    OpenMax 帮助团队在支持的渠道中部署 AI 智能体。

    \n
    \n

    多智能体协作

    AI 智能体可以共享上下文并协同处理任务。

    \n

    渠道集成

    连接支持的办公与消息渠道。

    \n

    引导式设置

    引导式设置通常需要 10–20 分钟,具体取决于所连接的渠道。

    \n
    \n
    \n \n"; render(); }); document.getElementById("btnSampleMD").addEventListener("click", function(){ inp.value="# 部署 AI 智能体团队\n\n**OpenMax** 帮助团队在支持的渠道中部署 AI 智能体。\n\n## 工作流程包含的能力\n\n- **多智能体协作** — 智能体可在工作流中共享上下文\n- **渠道集成** — 连接支持的办公与消息渠道\n- **引导式设置** — 通常需要 10–20 分钟,具体取决于所连接的渠道\n- **人工审核** — 为重要操作指定人工审核人\n\n> 人类团队与 AI 智能体可协同完成产品和支持工作流。\n\n[了解 OpenMax](https://openmax.com)"; render(); }); function T(m){ var t=document.getElementById("tl"); t.textContent=m; t.style.display="block"; clearTimeout(t._t); t._t=setTimeout(function(){t.style.display="none"},1600); } // Source view document.getElementById("tabPreview").addEventListener("click", function(){ document.getElementById("tabPreview").className = "tab active"; document.getElementById("tabSource").className = "tab"; document.getElementById("preview").style.display = "block"; document.getElementById("sourceView").style.display = "none"; }); document.getElementById("tabSource").addEventListener("click", function(){ document.getElementById("tabSource").className = "tab active"; document.getElementById("tabPreview").className = "tab"; document.getElementById("preview").style.display = "none"; document.getElementById("sourceView").style.display = "block"; updateSourceView(); }); function updateSourceView(){ if(document.getElementById("sourceView").style.display === "none") return; var code = inp.value; if(mode === "md"){ if(!code){ document.getElementById("sourceView").textContent = ""; } else { var html = code.replace(/&/g,"&").replace(//g,">").replace(/^### (.+)$/gm,"

    $1

    ").replace(/^## (.+)$/gm,"

    $1

    ").replace(/^# (.+)$/gm,"$1").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/^> (.+)$/gm,"
    $1
    ").replace(/^- (.+)$/gm,"
  • $1
  • ").replace(/(
  • .*<\/li>\n?)+/g,"").replace(/((\|.+\|[\r\n])+\|[\-|:]+\|[\r\n](\|.+\|)([\r\n]\|.+\|)*)/g, function(match){ var lines = match.trim().split(/\r?\n/); var html = ''; for(var i = 0; i < lines.length; i++){ var cells = lines[i].split('|').filter(function(c){return c.trim()}); if(i === 1) continue; // skip separator var tag = i === 0 ? 'th' : 'td'; html += '' + cells.map(function(c){return '<'+tag+'>'+c.trim()+''}).join('') + ''; } return html + '
    '; }).replace(/\[(.+?)\]\((.+?)\)/g,'$1').replace(/\n\n/g,"

    ").replace(/\n/g,"
    "); var full = "\n\n\n\n \n\n" + html + "\n \n"; document.getElementById("sourceView").textContent = full; } } else { document.getElementById("sourceView").textContent = code || ""; } } // Init setTimeout(function(){render();},100); window.downloadPage = function(){ var c=mode==="md"?renderedOutput:inp.value; if(!c)c=renderedOutput||"OpenMax "; var b=new Blob([c],{type:"text/html"});var a=document.createElement("a");a.href=URL.createObjectURL(b);a.download="preview.html";a.click();T("已下载") } })();