这个在线 HTML 预览工具通过一个文本框(<textarea>
)让用户输入 HTML 代码,并通过点击“预览”按钮将输入的 HTML 渲染在新打开的浏览器窗口中;点击“清除”按钮则清空文本框的内容。
核心原理是通过 JavaScript 获取用户输入的 HTML 内容并用 window.open()
在新窗口展示,同时使用 document.write()
方法渲染 HTML。样式部分通过 CSS 控制布局和按钮的外观。
该工具简洁且直观,适用于简单的 HTML 代码测试和预览。
<div id="html-preview">
<textarea id="editor" placeholder="在这里输入 HTML 代码..."></textarea>
<div class="button-container">
<button id="previewBtn">预览</button>
<button id="clearBtn">清除</button>
</div>
</div>
<div
id="html-preview">
id="html-preview"
可以方便地用 CSS 或 JavaScript 选择该容器进行样式设置或操作。<textarea id="editor">
<textarea id="editor" placeholder="在这里输入 HTML 代码..."></textarea>
<textarea>
) 元素,用户可以在这里输入 HTML 代码。id="editor"
:用于标识文本区域,以便后续 JavaScript 操作。placeholder="在这里输入 HTML 代码..."
:当文本框为空时,显示的提示文本,告诉用户应该输入 HTML 代码。<div class="button-container">
<div class="button-container">
<button id="previewBtn">预览</button>
<button id="clearBtn">清除</button>
</div>
<div class="button-container">
:包裹按钮的容器,用于对按钮进行布局,确保按钮在页面中有一定的间距,并且能够居中显示。<button id="previewBtn">预览</button>
:预览按钮,点击后会显示输入的 HTML 内容。
id="previewBtn"
:用于标识该按钮,后续 JavaScript 可以通过此 ID 获取并添加事件监听。<button id="clearBtn">清除</button>
:清除按钮,点击后会清空输入框中的内容。
id="clearBtn"
:用于标识该按钮,后续 JavaScript 通过此 ID 获取并添加事件监听。用户在 <textarea>
中输入 HTML 代码,工具通过 JavaScript 获取输入的内容:
let htmlContent = editor.value;
这里,editor
是指向 <textarea>
元素的 DOM 对象,editor.value
获取的是用户输入的 HTML 代码。
点击“预览”按钮会打开一个新的浏览器窗口,并在其中展示输入的 HTML 代码:
const previewWindow = window.open("", "_blank");
previewWindow.document.open();
previewWindow.document.write(htmlContent);
previewWindow.document.close();
window.open("", "_blank");
:打开一个新窗口或标签页。previewWindow.document.open();
和 previewWindow.document.close();
:这两行分别打开和关闭新窗口的文档流,确保 HTML 内容可以正确渲染。previewWindow.document.write(htmlContent);
:将用户输入的 HTML 代码写入新窗口,触发 HTML 渲染。editor.value = "";
这行代码将 editor
(即 textarea
)的 value
属性设为空,从而清空用户的输入。
#html-preview #editor {
border: 2px solid #ccc;
padding: 10px;
font-family: Arial, sans-serif;
font-size: 16px;
width: 100%;
height: 400px;
box-sizing: border-box;
}
#html-preview button {
padding: 10px 20px;
cursor: pointer;
border: none;
font-size: 16px;
margin: 5px;
border-radius: 5px;
}
#html-preview #previewBtn {
background-color: #4CAF50;
color: white;
}
#html-preview #previewBtn:hover {
background-color: #45a049;
}
#html-preview #clearBtn {
background-color: #f44336;
color: white;
}
#html-preview #clearBtn:hover {
background-color: #e53935;
}
#html-preview .button-container {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
margin-top: 10px;
width: 100%;
}
以上就是HTML预览工具的实现原理和核心代码。