kopia lustrzana https://github.com/c9/core
fix html5 clipboard on ie
rodzic
9973c0ea35
commit
d2c77b4f42
|
@ -51,21 +51,19 @@ define(function(require, exports, module) {
|
|||
function set(type, data, list) {
|
||||
if (notSupported(type))
|
||||
return;
|
||||
|
||||
type = convertType(type);
|
||||
|
||||
if (nativeObject) {
|
||||
nativeObject.setData(type, data);
|
||||
handleClipboardData(nativeObject, type, data);
|
||||
return true;
|
||||
}
|
||||
|
||||
var setData = function(e) {
|
||||
if (list) {
|
||||
list.forEach(function(type) {
|
||||
e.clipboardData.setData(type, data);
|
||||
handleClipboardData(e.clipboardData, type, data);
|
||||
});
|
||||
}
|
||||
e.clipboardData.setData(type, data);
|
||||
handleClipboardData(e.clipboardData, type, data);
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
@ -82,17 +80,15 @@ define(function(require, exports, module) {
|
|||
function get(type, full) {
|
||||
if (notSupported(type))
|
||||
return;
|
||||
|
||||
type = convertType(type);
|
||||
|
||||
if (!full && nativeObject)
|
||||
return nativeObject.getData(type);
|
||||
return handleClipboardData(nativeObject, type);
|
||||
|
||||
var data;
|
||||
var getData = function(e) {
|
||||
data = full
|
||||
? e.clipboardData
|
||||
: e.clipboardData.getData(type);
|
||||
: handleClipboardData(nativeObject, type);
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
};
|
||||
|
@ -120,8 +116,22 @@ define(function(require, exports, module) {
|
|||
return !/text($|\/)/.test(type);
|
||||
}
|
||||
|
||||
function convertType(type) {
|
||||
return document.all ? "Text" : type;
|
||||
function handleClipboardData(clipboardData, type, data, forceIEMime) {
|
||||
if (!clipboardData)
|
||||
return;
|
||||
// using "Text" doesn't work on old webkit but ie needs it
|
||||
var mime = forceIEMime ? "Text" : type;
|
||||
try {
|
||||
if (data) {
|
||||
// Safari 5 has clipboardData object, but does not handle setData()
|
||||
return clipboardData.setData(mime, data) !== false;
|
||||
} else {
|
||||
return clipboardData.getData(mime);
|
||||
}
|
||||
} catch(e) {
|
||||
if (!forceIEMime)
|
||||
return handleClipboardData(clipboardData, type, data, true);
|
||||
}
|
||||
}
|
||||
|
||||
function wrap(obj) {
|
||||
|
|
Ładowanie…
Reference in New Issue