2017-01-21 5 views
1

ich diese link question sah, ich versuche, den Zweck dieser Verbindung zu tun, aber ich erhalte diesen Fehler unten, wenn ich Text einfügen oder ein BildPaste Bild mit Zwischenablage API

enter image description here

i bin der CKeditor und bin Konfiguration der Paste Ereignis in config.js von CKeditor verwendet wird, ist der Code:

/** 
* @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); 
     } 
    }); 
}); 

ich brauche jede Datei von Zwischenablage-API enthalten?

Antwort

1

event in editor.on('paste', function (event)... ist kein ursprüngliches Ereignis.

Von here können Sie erhalten, das ist CKEDITOR.eventInfo Objekt.

So können die Daten aus Docs von event.data.dataValue zugegriffen werden, ohne Clipboard-API zu verwenden.

Weitere Informationen erhalten Sie unter Clipboard Integration.

AKTUALISIERT

diese versuchen, Daten zu erhalten.

CKEDITOR.on('instanceReady', function (event) { 
    event.editor.on('paste', function (pasteEvent) { 
     var items = pasteEvent.data.dataValue; 
     console.log(JSON.stringify(items)); 
    }); 
}); 
+0

ich nicht verstehen, die Dokumentation, ändere ich ein wenig mehr der Code, aber es hat nicht Unterschied auf funcionality machen @fumi_hwh –

+1

nur verwenden 'event.data.dataValue' Daten aus Paste Ereignisse zu bekommen –

+0

jetzt die Fehleränderung, es zeigt: "Nicht erlaubt, lokale Ressource zu laden:", fügen Sie das Bild mit physikalischer Quelle @ fumi_hwh –