博客
关于我
关于博客园的在线演示
阅读量: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, selenium中用于切换帧的函数
    查看>>
    python函数
    查看>>
    python----线程、进程、协程的区别及多线程详解
    查看>>
    python---5
    查看>>
    python---使用celery分布式系统异步发送短信(云通讯)来验证登录
    查看>>
    python--003--百分号字符串拼接、format
    查看>>
    Python--10、线程
    查看>>
    Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
    查看>>
    python--基本代码规范
    查看>>
    Python--抽象类接口类
    查看>>
    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 的解决方法
    查看>>