html预览功能实现页代码模板

在下面html预览功能实现页代码模板中,我们使用了marked.js和highlight.js两个库来实现Markdown文本到HTML的渲染,并提供了一个预览区域和一个编辑区域。当用户在编辑区域中输入Markdown文本时,我们使用marked.js和highlight.js库将其转换为HTML代码,并将HTML代码显示在预览区域中。

HTML预览功能实现页代码模板如下:

<!DOCTYPE html>
<html>
<head>
    <title>预览功能实现页</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    <!-- 预览区域 -->
    <div id="preview"></div>
    <!-- 编辑区域 -->
    <textarea id="editor"></textarea>
    <!-- 引入marked.js和highlight.js库 -->
    <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/highlight.js/lib/highlight.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/highlight.js/lib/languages/javascript.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/highlight.js/lib/languages/css.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/highlight.js/lib/languages/htmlbars.min.js"></script>
    <!-- 自定义样式 -->
    <style type="text/css">
        #preview {
            margin-top: 20px;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            background-color: #f8f8f8;
            font-size: 16px;
            line-height: 1.5;
        }
        #editor {
            width: 100%;
            height: 400px;
            margin-top: 20px;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            font-size: 16px;
            line-height: 1.5;
        }
    </style>
    <!-- 自定义脚本 -->
    <script type="text/javascript">
        // 获取预览区域和编辑区域的DOM元素
        var preview = document.getElementById('preview');
        var editor = document.getElementById('editor');
        // 监听编辑区域的输入事件
        editor.addEventListener('input', function() {
            // 获取编辑区域的内容并使用marked.js和highlight.js库进行渲染
            var markdown = editor.value;
            var html = marked(markdown, {
                highlight: function(code, lang) {
                    // 使用highlight.js库对代码进行高亮
                    if (lang && hljs.getLanguage(lang)) {
                        return hljs.highlight(lang, code).value;
                    } else {
                        return hljs.highlightAuto(code).value;
                    }
                },
                breaks: true
            });
            // 将渲染后的HTML代码更新到预览区域
            preview.innerHTML = html;
        });
        // 初始化编辑区域的内容
        editor.value = '# 在这里输入Markdown文本';
        editor.dispatchEvent(new Event('input'));
    </script>
</body>
</html>

需要注意的是,代码中我们使用了CDN引入marked.js和highlight.js库,并且引入了highlight.js库的三个语言模块(JavaScript、CSS和HTMLBars)。在实际应用中,我们可以将这些库下载到本地并引入到项目中。