TinyMCE - Chrome浏览器 - 无法在FF中粘贴图像 [英] TinyMCE - Chrome browser - Can't paste images in Chrome as in FF

查看:958
本文介绍了TinyMCE - Chrome浏览器 - 无法在FF中粘贴图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是 TinyMCE所见即所得编辑器控件,虽然可以在 FireFox 中复制和粘贴图像分数,但这是不可能的在 Chrome 中。



我试过升级到 TinyMCE 4.0.16(以前有版本3.5.8)仍然没有可能的方式使其工作。

有没有人能够做到这一点?



示例如何在FireFox中显示:


提前致谢!

解决方案



pre> 函数pasteHandler(e){
var cbData;
if(e.clipboardData){
cbData = e.clipboardData;
} else if(window.clipboardData){
cbData = window.clipboardData;


if(e.msConvertURL){
var fileList = cbData.files;如果(fileList.length> 0){
for(var i = 0; i< fileList.length; i ++){
var blob = fileList [i];
console.log(Image blob:+ blob);
readPastedBlob(blob); (cbData&& cbData.items){
if((text = cbData.getData(text / plain))



if )){
//文本粘贴已经被处理
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);



函数readPastedBlob(blob){
if(blob){
reader = new FileReader();
reader.onload = function(evt){
pasteImage(evt.target.result);
};
reader.readAsDataURL(blob);



函数pasteImage(source){
var image =< img src ='+ source +'data-mce-selected = '1' >< / IMG>中;
window.tinyMCE.execCommand('mceInsertContent',false,image);
}}

在你的tinyMCE的init方法中:

  tinymce.init({
selector:textarea,//根据您的HTML
更改此值paste_data_images:true,
setup:function(editor){
editor.on('paste',pasteHandler)
};
})


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

I've tried upgrading to TinyMCE ver. 4.0.16 (previously had ver. 3.5.8) with still no possible way to make it work.

Has anyone been able to do this?

Example to how this looks in FireFox:

Thanks in advance!

解决方案

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)
    };
})

这篇关于TinyMCE - Chrome浏览器 - 无法在FF中粘贴图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆