由于浏览器支持度不够,以下代码不能实现功能。存照。
$("#GETPAST").click(function(event) {
/*var items = (event.clipboardData && event.clipboardData.items) || [];
var file = null;
alert(items);
if(items && items.length) {
for(var i = 0; i < items.length; i++) {
if(items[i].type.indexOf('image') !== -1) {
file = items[i].getAsFile();
break;
}
}
}
var reader = new FileReader();
reader.onload = function(e){
// 通过e.target.result取到base64然后上传
var outputtext = "<img src=\""+e.target.result+"\">";
win1.focus();
if(isIE()){
// 以下代码 IE ver < 11
doc1.selection.createRange().pasteHTML(outputtext);
}else{
doc1.execCommand("insertHTML", false, outputtext);
}
// 作为src设到image标签上预览
}
reader.readAsDataURL(file); //此处的file为上面得到的文件对象```
alert("paste1"); */
/*let data = new DataTransfer();
navigator.clipboard.read().then(data => {
for (let i=0; i<data.items.length; i++) {
if (data.items[i].type != "text/plain") {
alert("Clipboard contains non-text data. Unable to access it.");
} else {
textElem.innerText = data.items[i].getAs("text/plain");
}
}
});*/
var clipPromise = navigator.clipboard.readText();
clipPromise.then(function(clipText){
alert(clipText);
});/**/
// 另一种写法,=> 可能需要其他js环境支持
/*navigator.clipboard.readText()
.then(text => {
console.log('Pasted content: ', text);
})
.catch(err => {
console.error('Failed to read clipboard contents: ', err);
});*/
/* 浏览器禁止按钮粘贴对象,安全问题。
//var permission = navigator.permissions.query({ name: 'clipboard-read' });
alert(navigator.appVersion);
//if (permission.state === 'denied') {
// throw new Error('Not allowed to read clipboard.');
//}
var clipPromise = navigator.clipboard.read();
clipPromise.then(function(datas) {
//alert(datas);
for (let i=0; i<datas.length; i++) {
var data = datas[i];
var datatypes = data.types;
//var datatypearray = datatypes.split(",");
alert(datatypes);
if (data.types.includes('image/png')) {
alert("Clipboard contains non-text data. Unable to access it.");
var p1 = data.getType("image/png");
alert(p1);
} else {
outputtext = data.getType("text/plain");
if(isIE()){
// 以下代码 IE ver < 11
doc1.selection.createRange().pasteHTML(outputtext);
}else{
doc1.execCommand("insertHTML", false, outputtext);
}
}
}
});*/
/*win1.focus();
var inputtext = prompt("请输入图片链接:", "http://");
if(inputtext.length > 0){
var outputtext = "<img src=\""+inputtext+"\">";
if(isIE()){
// 以下代码 IE ver < 11
doc1.selection.createRange().pasteHTML(outputtext);
}else{
doc1.execCommand("insertHTML", false, outputtext);
}
}*/
});
document.addEventListener('paste', function(event) {
var items = (event.clipboardData && event.clipboardData.items) || [];
var file = null;
if(items && items.length) {
for(var i = 0; i < items.length; i++) {
if(items[i].type.indexOf('image') !== -1) {
file = items[i].getAsFile();
break;
}
}
}
var reader = new FileReader();
reader.onload = function(e){
// 通过e.target.result取到base64然后上传
var outputtext = "<img src=\""+e.target.result+"\">";
if(isIE()){
// 以下代码 IE ver < 11
doc1.selection.createRange().pasteHTML(outputtext);
}else{
doc1.execCommand("insertHTML", false, outputtext);
}
// 作为src设到image标签上预览
}
reader.readAsDataURL(file); //此处的file为上面得到的文件对象```
alert("paste1");
//console.log(file)
});/**/