tinymce 复制纯文本bug
This commit is contained in:
@ -1,110 +0,0 @@
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Copyright, Moxiecode Systems AB
|
||||
* Released under LGPL License.
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains the tinymce plugin logic for the paste plugin.
|
||||
*
|
||||
* @class tinymce.pasteplugin.Plugin
|
||||
* @private
|
||||
*/
|
||||
define("tinymce/pasteplugin/Plugin", [
|
||||
"tinymce/PluginManager",
|
||||
"tinymce/pasteplugin/Clipboard",
|
||||
"tinymce/pasteplugin/WordFilter",
|
||||
"tinymce/pasteplugin/Quirks"
|
||||
], function(PluginManager, Clipboard, WordFilter, Quirks) {
|
||||
var userIsInformed;
|
||||
|
||||
PluginManager.add('paste', function(editor) {
|
||||
var self = this, clipboard, settings = editor.settings;
|
||||
|
||||
function togglePlainTextPaste() {
|
||||
if (clipboard.pasteFormat == "text") {
|
||||
this.active(false);
|
||||
clipboard.pasteFormat = "html";
|
||||
} else {
|
||||
clipboard.pasteFormat = "text";
|
||||
this.active(true);
|
||||
|
||||
if (!userIsInformed) {
|
||||
editor.windowManager.alert(
|
||||
'Paste is now in plain text mode. Contents will now ' +
|
||||
'be pasted as plain text until you toggle this option off.'
|
||||
);
|
||||
|
||||
userIsInformed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.clipboard = clipboard = new Clipboard(editor);
|
||||
self.quirks = new Quirks(editor);
|
||||
self.wordFilter = new WordFilter(editor);
|
||||
|
||||
if (editor.settings.paste_as_text) {
|
||||
self.clipboard.pasteFormat = "text";
|
||||
}
|
||||
|
||||
if (settings.paste_preprocess) {
|
||||
editor.on('PastePreProcess', function(e) {
|
||||
settings.paste_preprocess.call(self, self, e);
|
||||
});
|
||||
}
|
||||
|
||||
if (settings.paste_postprocess) {
|
||||
editor.on('PastePostProcess', function(e) {
|
||||
settings.paste_postprocess.call(self, self, e);
|
||||
});
|
||||
}
|
||||
|
||||
editor.addCommand('mceInsertClipboardContent', function(ui, value) {
|
||||
if (value.content) {
|
||||
self.clipboard.pasteHtml(value.content);
|
||||
}
|
||||
|
||||
if (value.text) {
|
||||
self.clipboard.pasteText(value.text);
|
||||
}
|
||||
});
|
||||
|
||||
// Block all drag/drop events
|
||||
if (editor.paste_block_drop) {
|
||||
editor.on('dragend dragover draggesture dragdrop drop drag', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
}
|
||||
|
||||
// Prevent users from dropping data images on Gecko
|
||||
if (!editor.settings.paste_data_images) {
|
||||
editor.on('drop', function(e) {
|
||||
var dataTransfer = e.dataTransfer;
|
||||
|
||||
if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
editor.addButton('pastetext', {
|
||||
icon: 'pastetext',
|
||||
tooltip: 'Paste as text',
|
||||
onclick: togglePlainTextPaste,
|
||||
active: self.clipboard.pasteFormat == "text"
|
||||
});
|
||||
|
||||
editor.addMenuItem('pastetext', {
|
||||
text: 'Paste as text',
|
||||
selectable: true,
|
||||
active: clipboard.pasteFormat,
|
||||
onclick: togglePlainTextPaste
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user