微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-events – 如何使用chrome userscript获取已删除图像的URL?

在以下chrome用户脚本中,如何获取从桌面拖动的图像的URL?
我有调试器行,我得到e.dataTransfer.getData(“text”)和e.dataTransfer.getData(“url”)的空字符串
// ==UserScript==
// @match http://*/*
// @match https://*/*
// ==/UserScript==

function preventDrag(e) {
  e.stopPropagation();
  e.preventDefault();
}

function handleDrop(e) {
  console.log("Just dropped: " + e.dataTransfer.files[0].name);
  debugger
  // Todo: grab the url for e.dataTransfer.files[0]

  e.stopPropagation();
  e.preventDefault();
}

document.addEventListener('drop',handleDrop,false);
document.addEventListener('dragenter',preventDrag,false);
document.addEventListener('dragover',false);

解决方法

不确定我理解得很好,但如果我这样做,你将无法拥有文件路径(意味着删除文件的完整路径).
这是对浏览器的“保护”.但你至少可以得到它的名字.
var file   = e.originalEvent.dataTransfer.files[0],reader = new FileReader();

reader.onloadend = function (event) {
    console.log(file);
    // filename is in file.name
    // ... do something here
}

reader.readAsArrayBuffer(file);

这是一个如何做到的jsfiddlejsFiddle demo

原文地址:https://www.jb51.cc/js/158743.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐