Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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 是什么让编辑器在富wysiwyg编辑器中将数据以类似html的方式粘贴到textarea上?_Javascript_Html_Wysiwyg - Fatal编程技术网

Javascript 是什么让编辑器在富wysiwyg编辑器中将数据以类似html的方式粘贴到textarea上?

Javascript 是什么让编辑器在富wysiwyg编辑器中将数据以类似html的方式粘贴到textarea上?,javascript,html,wysiwyg,Javascript,Html,Wysiwyg,我想从网站复制/粘贴html,并将它们存储在mysql数据库中。为了做到这一点,我签出了CKEditor,它允许我粘贴html,甚至word文档,并为其生成html代码。由于我只想将粘贴的数据生成为html,而不是使用完整的wysiwyg编辑器(如CKEditor),因此我想使用jquery编写一些代码,将粘贴的数据转换为html标记和格式 为了实现这一功能,这些在线编辑器做什么?他们如何将剪贴板数据转换为html代码?为什么当我将html格式的文本、div或按钮粘贴到此文本区域以及wysiwy

我想从网站复制/粘贴html,并将它们存储在mysql数据库中。为了做到这一点,我签出了CKEditor,它允许我粘贴html,甚至word文档,并为其生成html代码。由于我只想将粘贴的数据生成为html,而不是使用完整的wysiwyg编辑器(如CKEditor),因此我想使用jquery编写一些代码,将粘贴的数据转换为html标记和格式

为了实现这一功能,这些在线编辑器做什么?他们如何将剪贴板数据转换为html代码?为什么当我将html格式的文本、div或按钮粘贴到此文本区域以及wysiwyg编辑器上的图像和大小合适的div时,只能获取文本

编辑器是否访问剪贴板数据并对其进行操作?剪贴板是否以有组织的方式保存格式化数据,以允许CKEditor或其他人对其进行操作

这可以通过jQuery实现吗?还是我们也需要服务器端代码

如果你能解释一下这个问题,我将不胜感激。我只想知道该方法,以便为其编写适当的代码


供参考:

以下是一个在Chrome、IE9和Safari中运行的粗略演示:


不确定这是否是您想要的,但它会在粘贴时提醒HTML。请记住,内容可编辑元素可能会在粘贴时更改标记。

我想您可以将HTML粘贴到contenteditable=true的元素中,并通过一点脚本从中获取内部HTML。谢谢,这正是我想要的。。。所以jquery有一个粘贴事件。。。真有趣!很高兴它起作用了。关于粘贴有很多问题,如果你想完善我的例子,例如,啊,我在研究的时候确实看到过那篇文章,但我不明白它也粘贴为html。顺便说一句,我查找了javascript粘贴事件的兼容性,如下所示:
<div contenteditable="true" id="paste-target">Paste Here</div>​

$(function(){
    $("#paste-target").on("paste", function(){
        // delay, or else innerHTML won't be updated
        setTimeout(function(){

            // option 1 - for pasting text that looks like HTML (e.g. a code snippet)
            alert($("#paste-target").text());

            // option 2 - for pasting actual HTML (e.g. select a webpage and paste it)
            alert($("#paste-target").html());
        },100);
    });        
});​