3

我正在开发一个使用拖放 API 来从各种网站收集资源的网络应用程序。

有了这个API,我打算解析拖拽资源的HTML,得到链接的URL和链接中的文字和图片。

它在 Firefox 19(Windows 和 Mac)上运行良好。它曾经可以在 Chrome 25 上运行,但自从最新更新以来,它在 Mac 26 的 Chrome 上无法运行,尽管它可以在 Windows 上运行。

这是我正在使用的代码片段——你可以在 jsfiddle 上试试:http: //jsfiddle.net/rYcyP/

document.getElementById("destination").addEventListener("dragover", function(_event) {
    _event.stopPropagation();
    _event.preventDefault();
}, false);
document.getElementById("destination").addEventListener("drop", function(_event) {
    _event.stopPropagation();
    _event.preventDefault();
    console.log(Array.prototype.slice.call(_event.dataTransfer.types));
}, false);

当拖动嵌入图像的链接时,例如来自新闻网站(或 Stack Overflow 中的上述广告,或我的 gravatar),这是控制台在 Firefox 中读取的内容:

["text/x-moz-url", "text/x-moz-url-data", "text/x-moz-url-desc", "text/uri-list", "text/_moz_htmlcontext", "text/_moz_htmlinfo", "text/html", "text/plain", "application/x-moz-nativeimage", "application/x-moz-file-promise", "application/x-moz-file-promise-url", "application/x-moz-file-promise-dest-filename", "Files"]

这比我真正需要的数据多得多,但是 text/html 就在这里!

在 Chrome 26.0.1410.43 Windows 中:

["text/plain", "text/uri-list", "text/html", "Files"]

对我还是有好处的。

这是我在 MacOS X 上使用 Chrome 26.0.1410.43 得到的结果:

["text/uri-list"]

其中不包括我的网络应用程序所需的“文本/html”。

在此先感谢您的帮助 !

4

2 回答 2

2

是的,我搞砸了。这已在 Chrome 28 中修复,我将修复合并回 Chrome 27,因此您应该会在下一次更新中看到修复。Chrome 26 对所有非安全关键的更新都关闭了,所以我不能把它推回那个更新。

很抱歉给您带来麻烦。挂在那里,它应该重新开始工作。

于 2013-04-15T17:32:26.743 回答
0

通过尝试构建相同的东西,遇到了同样的错误。我向 Chromium 提交了一份关于它的错误报告: https ://code.google.com/p/chromium/issues/detail?id=225710

与此同时,我求助于单击图像将其插入,如下所示:http: //jsfiddle.net/kthornbloom/jwvha/366/

.
于 2013-04-04T16:48:53.163 回答