zoukankan      html  css  js  c++  java
  • tinymce原装插件源码分析(七)-使能css、script

    在tinymce中使用css个script

    tinymce的编辑器中css和script默认是不起作用的。(编辑器主要面向写文章使用,考虑到xss攻击,默认是不启用的)

    需要修改tinymce.js中几行代码,可以使其起作用。

    1、SaxParser.parse中,关于script标签。

    L11732- L11758注释掉

    这一部分的意思是,在Start element处遇见script等标签,直接跳过,不进行解析(不追加到DOM中)。

    这个函数的调用,一般在editor.setContent中使用(根据传递的HTML string,来对页面的HTML进行设置)。

    2、另一个地方就是Schema(L10352)的修改

    这一部分是解析模式设置,就是遇见比如div、span等,怎么处理(属性过滤、添加。是不是block,比如span的父节点不是block元素的话,就默认加个p标签等等)。

    把L10636(delete schema.script;//不解析script)注释掉。

    在L10448中加入‘’script link style‘’,意思是把这些标签解析成block。(你不希望自己的script外面自动加一层p标签)

    至此,在code功能中,设置好要显示的内容后,script的功能是加载不进来的。但在preview是能看到css和script效果的。

     不同:

    code的html设置:elm.html(html);

    preview的html设置:

    测试部分:

    原生的innerHtml是不起作用的,而jquery.html是起作用的。想要起作用,可以使用jquery的方法。

  • 相关阅读:
    进程
    并发编程
    操作系统的发展史
    __init__、__new__、__call__ 方法
    MongoDB文档操作
    MongoDB集合操作
    MongoDB数据库操作
    MongoDB连接
    MongoDB的文档存储结构
    MongoDB 概念
  • 原文地址:https://www.cnblogs.com/xunhanliu/p/10757166.html
Copyright © 2011-2022 走看看