使用剪贴板粘贴图像 API - CKEditor
paste image with clipboard API - CKEditor
我看到了这个 link question,我正在尝试实现这个 link 的目的,但是当我粘贴文本或图像时出现下面的错误
我正在使用 CKeditor 并在 CKeditor 的 config.js 中配置粘贴事件,代码是:
/**
* @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.height = '420px';
};
CKEDITOR.on('instanceReady', function (event) {
event.editor.on('paste', function (event) {
// use event.originalEvent.clipboard for newer chrome versions
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
// find pasted image among pasted items
var blob = null;
for (var i = 0; i < items.length; i++) {
if (items[i].type.indexOf("image") === 0) {
blob = items[i].getAsFile();
}
}
// load image if there is a pasted image
if (blob !== null) {
var reader = new FileReader();
reader.onload = function(event) {
console.log(event.target.result); // data url!
};
reader.readAsDataURL(blob);
}
});
});
我需要包含任何剪贴板文件API?
event
in editor.on('paste', function (event)...
不是原创事件。
来自 here, you can get that is CKEDITOR.eventInfo 个对象。
因此,从文档中,可以通过 event.data.dataValue
访问数据,而无需使用剪贴板 API。
您可以通过 Clipboard Integration.
获取更多信息
已更新
试试这个来获取数据。
CKEDITOR.on('instanceReady', function (event) {
event.editor.on('paste', function (pasteEvent) {
var items = pasteEvent.data.dataValue;
console.log(JSON.stringify(items));
});
});
我看到了这个 link question,我正在尝试实现这个 link 的目的,但是当我粘贴文本或图像时出现下面的错误
我正在使用 CKeditor 并在 CKeditor 的 config.js 中配置粘贴事件,代码是:
/**
* @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.height = '420px';
};
CKEDITOR.on('instanceReady', function (event) {
event.editor.on('paste', function (event) {
// use event.originalEvent.clipboard for newer chrome versions
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
// find pasted image among pasted items
var blob = null;
for (var i = 0; i < items.length; i++) {
if (items[i].type.indexOf("image") === 0) {
blob = items[i].getAsFile();
}
}
// load image if there is a pasted image
if (blob !== null) {
var reader = new FileReader();
reader.onload = function(event) {
console.log(event.target.result); // data url!
};
reader.readAsDataURL(blob);
}
});
});
我需要包含任何剪贴板文件API?
event
in editor.on('paste', function (event)...
不是原创事件。
来自 here, you can get that is CKEDITOR.eventInfo 个对象。
因此,从文档中,可以通过 event.data.dataValue
访问数据,而无需使用剪贴板 API。
您可以通过 Clipboard Integration.
获取更多信息已更新
试试这个来获取数据。
CKEDITOR.on('instanceReady', function (event) {
event.editor.on('paste', function (pasteEvent) {
var items = pasteEvent.data.dataValue;
console.log(JSON.stringify(items));
});
});