博客
关于我
关于博客园的在线演示
阅读量:469 次
发布时间:2019-03-06

本文共 807 字,大约阅读时间需要 2 分钟。

在博客园发布文章时,需要在线演示代码却无法托管HTML文件,这确实是个不少人会遇到的问题。经过一番探索,我找到了一个可行的解决方案。

传统的方法是将代码直接写在textarea中,然后通过JS打开新窗口来展示,不过博客园会自动屏蔽掉style标签里的内容,这会影响代码的展示效果。因此,我决定采取另一种策略。

在研究其他博友的文章时,我发现有些人会完全避免使用任何标签,但这样做并不是最优的选择。经过深入思考,我决定采取另一种方法:将不必要的HTML标签隐藏起来。

具体来说,我使用以下方法来实现代码的在线演示:

  • 在博客园的编辑器中,切换到文本编辑模式,手动输入需要的HTML代码。

  • 将不需要的标签全部隐藏,仅保留textarea标签。

  • 在textarea内输入如下代码:

    1. 在页面的脚本部分添加以下JS代码:
    2. $(function() {    var newWindow = window.open('', '_self');    var codeContent = document.getElementById('cnblogsShowCode').value;    newWindow.document.open('text/html', 'replace');    newWindow.opener = null;    newWindow.document.write(codeContent);    newWindow.document.close();});

      通过这种方式,可以实现代码的在线演示。

      需要注意的是,在代码中如果包含textarea标签,可能会导致匹配问题。解决方法是将代码中的textarea标签用HTML entities替换,即将<替换为&amp;lt;,>替换为&amp;gt;。

      这种方法既简单又有效,可以满足在线演示的需求。

    转载地址:http://hlvbz.baihongyu.com/

    你可能感兴趣的文章
    PYTHON--欧拉习题二
    查看>>
    python--高级应用总结
    查看>>
    python-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
    查看>>
    Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
    查看>>
    Python-AttributeError:‘;dict&39;对象没有属性‘;序列‘;
    查看>>
    Python-ldap:是否可以在不显式写入密码的情况下进行绑定?
    查看>>
    python出现 unknown encoding: idna 的处理方法
    查看>>
    Python出现 RuntimeError: dictionary changed size during iteration 的解决方法
    查看>>
    Python-numpy(2)数组的操作
    查看>>
    Python-Numpy的tile函数用法
    查看>>
    python-open函数
    查看>>
    Python-Pandas-将特定函数应用于给定级别-多索引数据框架
    查看>>
    python-queue队列通信
    查看>>
    python-ros No module named PyKDL
    查看>>
    python-social-auth 是否需要会话
    查看>>
    Python再获年度编程语言,微软或成最大赢家
    查看>>
    python-week5
    查看>>
    Python写表情包搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    Python-【1】配置
    查看>>
    Python-从子文件夹执行绝对导入
    查看>>