gpt4 book ai didi

CKEditor - 防止用户粘贴图像

转载 作者:行者123 更新时间:2023-12-04 23:07:55 25 4
gpt4 key购买 nike

我想给我的用户一个有限的编辑器,使用伟大的 CKEditor。

我试图阻止人们添加图像,因此我阻止了“源” View 并禁用了“粘贴”按钮(仅保留“粘贴为文本”按钮)。

但是,仍然可以粘贴图像(从网页复制)。
有没有办法防止这种情况?

谢谢。

最佳答案

我知道已经有一段时间了,但是如果其他人遇到同样的问题。

您应该使用 a plugin as described here 检查所有图像,如果用户尝试插入图像,则会警告他不允许使用“图像”。

请注意,该插件无法下载,因此我们可能必须创建自己的插件。它很简单。我们只需要将他的代码复制并粘贴到 plugin.js 文件中。

CKEDITOR.plugins.add( 'blockimagepaste',
{
init : function( editor )
{

function replaceImgText(html) {
var ret = html.replace( /<img[^>]*src="data:image\/(bmp|dds|gif|jpg|jpeg|png|psd|pspimage|tga|thm|tif|tiff|yuv|ai|eps|ps|svg);base64,.*?"[^>]*>/gi, function( img ){
alert("Direct image paste is not allowed.");
return '';

});
return ret;
}

function chkImg() {
// don't execute code if the editor is readOnly
if (editor.readOnly)
return;

setTimeout( function() {
editor.document.$.body.innerHTML = replaceImgText(editor.document.$.body.innerHTML);
},100);
}

editor.on( 'contentDom', function() {
// For Firefox
editor.document.on('drop', chkImg);
// For IE
editor.document.getBody().on('drop', chkImg);
});

editor.on( 'paste', function(e) {

var html = e.data.dataValue;
if (!html)
return;

e.data.dataValue = replaceImgText(html);
});

} //Init
} );

另一个选项 is explained here (我相信它只适用于粘贴事件在拖动图像时不会做任何事情!)

关于CKEditor - 防止用户粘贴图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6582559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com