Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在';它来自Javascript的实时预览_Javascript_Html_Ruby On Rails - Fatal编程技术网

在';它来自Javascript的实时预览

在';它来自Javascript的实时预览,javascript,html,ruby-on-rails,Javascript,Html,Ruby On Rails,我正在使用RubyonRails开发一个网站,人们可以在这个网站上发表文章。POST使用标记来呈现文本,就像堆栈溢出一样。每当用户发表文章时,在文本区域的正下方都会有一个实时预览div,向用户显示其文章的外观,就像这里的堆栈溢出一样。我的问题是我不知道如何在实时预览中获得要渲染的降价 我的实时预览javascript代码是 window.onload = function(){ var idea = document.getElementById("idea-text"); try{ i

我正在使用RubyonRails开发一个网站,人们可以在这个网站上发表文章。POST使用标记来呈现文本,就像堆栈溢出一样。每当用户发表文章时,在文本区域的正下方都会有一个实时预览
div
,向用户显示其文章的外观,就像这里的堆栈溢出一样。我的问题是我不知道如何在实时预览中获得要渲染的降价

我的实时预览javascript代码是

window.onload = function(){
var idea = document.getElementById("idea-text");
try{
    idea.onkeyup = idea.onkeypress = function(){
        document.getElementById('live-preview').innerHTML = this.value.replace(/\n/g, '<br/>');
    }
}
catch(e){
}
}  

非常确定StackOverflow使用JavaScript将标记转换为HTML

PageDown是用于堆栈溢出和堆栈交换网络其余部分的JavaScript标记预览程序。它包括一个标记到HTML的转换器和一个带有实时预览的页内标记编辑器

你可以想象最终会做这样的事情:

var converter = new pagedown.Converter();

idea.onkeyup = idea.onkeypress = function(){
    document.getElementById('live-preview').innerHTML = converter.makeHtml(this.value);
}

您可以使用这样的库公开一个简单的方法来转换html中的标记内容,然后直接将html注入预览分区。

谢谢,我将对此进行研究。我必须让我的团队负责人在服务器上安装npm,然后我会看看这个方法是否有效。我仍然推荐使用node的同一个库的客户机。对于FE开发人员来说,这是一个很棒的工具再次感谢Davide的建议,我在我的主要帖子中发布了我的完整解决方案。
var converter = new pagedown.Converter();

idea.onkeyup = idea.onkeypress = function(){
    document.getElementById('live-preview').innerHTML = converter.makeHtml(this.value);
}