javascript - 设计 html 编辑器预览功能背后的理论

标签 javascript ajax editor wysiwyg

有人可以描述一下高层次的(当然是详细的)如何设计 html 编辑器预览功能吗?

(就像在这个网站上一样)

你真正需要做什么?

最佳答案

嗯,一个非常简单的方法可能只是将用户的输入分配给 div 的 HTML。使用 jQuery,这看起来像这样:

<textarea id="userInput"></textarea><br>
<div id="previewDiv"></div>

<script>
$(document).ready(function(){
   // Whenever the user input changes, update the preview
   $("#userInput").change(function(){
      $("#previewDiv").html($("#userInput").val());
   }
}
</script>

如果您不使用 jQuery,您可以研究 innerHTML属性,这就是您分配用于预览的属性。

请注意,您可能想要对用户的输入进行一些过滤;从您的站点提供任意 HTML 会允许针对您的域的 XSS(跨站点脚本)。请注意,编写一个有效的过滤器可能非常困难,而一个好的过滤器(例如 stackoverflow 使用的过滤器)几乎肯定会基于白名单。

关于javascript - 设计 html 编辑器预览功能背后的理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1641100/

相关文章:

javascript - 在 PHP 中发送请求之前将用户数据附加到 url

javascript - 如何将第三方 JavaScript 库添加到 Meteor 应用程序?

javascript - 如何从网页调用 Google Apps 脚本

javascript - OnClick() 从外部 js 文件调用 Jquery 函数

javascript - 如何阅读这个复杂的 Javascript 快捷操作符?

javascript - 如何将从blob url获取的音频数据保存到mysql db中的文件系统和路径中

php - 修复 PHP 中 Wordpress 插件的 HTTPS 错误,当我知道是哪些文件导致错误时出现混合内容错误?

java - 是否有 "light version"IntelliJ IDEA 可以在没有项目的情况下编辑文件?

pdf - 如何为grails创建pdf编辑器

基于 Eclipse 表单的 XML 编辑器