TinyMCE - Chrome browser - Can't paste images in Chrome as in FF

后端 未结 3 763
余生分开走
余生分开走 2021-01-13 17:38

I\'m using the TinyMCE WYSIWYG editor control and while it is possible to copy and paste image fractions in FireFox, it is impossi

相关标签:
3条回答
  • 2021-01-13 18:27

    I've just got this working.

    Remove "Paste" from the plugins list and set "paste_data_images: true"

    Works a treat!

    0 讨论(0)
  • 2021-01-13 18:30

    I found a solution for this issue, and it has been tested using Chrome v 47. Here is what you have to do:

    function pasteHandler(e) {
       var cbData;
       if (e.clipboardData) {
          cbData = e.clipboardData;
       } else if (window.clipboardData) {
          cbData = window.clipboardData;
       }
    
       if (e.msConvertURL) {
          var fileList = cbData.files;
          if (fileList.length > 0) {
              for (var i = 0; i < fileList.length; i++) {
                  var blob = fileList[i];
                  console.log("Image blob: " + blob);
                  readPastedBlob(blob);
             }
         }
     }
     if (cbData && cbData.items) {
         if ((text = cbData.getData("text/plain"))) {
             // Text pasting is already handled
             return;
         }
         for (var i = 0; i < cbData.items.length; i++) {
             if (cbData.items[i].type.indexOf('image') !== -1) {
                 var blob = cbData.items[i].getAsFile();
                 readPastedBlob(blob);
             }
         }
     }
    
    function readPastedBlob(blob) {
        if (blob) {
            reader = new FileReader();
            reader.onload = function(evt) {
                pasteImage(evt.target.result);
            };
            reader.readAsDataURL(blob);
        }
    }
    
    function pasteImage(source) {
        var image = "<img src='" + source + "' data-mce-selected='1'></img>";
        window.tinyMCE.execCommand('mceInsertContent', false, image);
    }}
    

    In the init method of you tinyMCE:

    tinymce.init({
        selector: "textarea", // change this value according to your HTML
        paste_data_images: true,
        setup: function(editor) {
            editor.on('paste', pasteHandler)
        };
    })
    
    0 讨论(0)
  • 2021-01-13 18:40

    I just answered this question. Here's a link to my answer: TinyMCE "paste button" does not work

    at time of the configuration of Tiny MCE, use this to get Chrome to work:

    tinymce.init({ selector:'textarea', plugins: [
            "image paste"
        ],
        paste_data_images: true});
    
    0 讨论(0)
提交回复
热议问题