2017-01-04 5 views
0

Когда я использую кнопку пасты на панели инструментов TinyMCE, она говорит: «Ваш браузер не поддерживает прямой доступ к буферу. Используйте вместо этого комбинацию клавиш Ctrl + X/C/V «. Он отлично работает в IE. Есть ли способ сделать кнопку «Вставить» полезной в Chrome и FF? Возможно, используя пользовательскую кнопку, которая выполняет функцию вставки jQuery, которая работает с современными браузерами.Кнопка вставки TinyMCE работает только в Internet Explorer

editor.addButton('paste', { 
    icon: 'paste', 
    onclick: function() { 
    pastecontent(); 
    } 
}); 

function pastecontent(){ 
    // get clipboard content 
} 

ответ

2

В сообщении от редактора состояний это просто ограничение, что вы можете/не можете делать напрямую через JavaScript в некоторых браузерах. Независимо от того, используете ли вы jQuery, вы все еще используете JavaScript, поэтому основное ограничение будет существовать.

Представьте, что вы могли бы сделать, если бы ваш произвольный JavaScript мог получить доступ к буфере обмена всякий раз, когда ему нравилось? «Плохие люди» не играют по правилам, так что, если (при загрузке веб-страницы) у них был JavaScript, который захватывал все из буфера обмена и отправлял его на свои серверы? Со временем производители браузеров поняли, что прямой доступ к буфере обмена был «плохим» ... по типу пользователя CRTL+C and CRTL+V вы эффективно сообщаете браузеру, что хотите получить доступ к буферу.

+0

Спасибо за подробное объяснение. – WebDev

0

Если редактор tinyMce или, как правило, веб-страница может получить результат «вставить», любой веб-сайт сможет украсть ваши данные буфера обмена (у вас могут быть конфиденциальные данные, скопированные в буфер обмена!). Именно по этой причине вы не можете запустить событие вставки через javascript.

Что касается этого ограничения безопасности, разрешено использовать собственные приложения, которые используют внутренний веб-браузер!

Смежные вопросы