chrome 26,使用拖放和DataTransfer的mac-only问题:无法访问“text / html”

时间:2013-04-02 16:51:01

标签: javascript html5 google-chrome drag-and-drop

我正在使用Drag-and-Drop API开发一个网络应用程序,以从各种网站收集资源。

使用此API,我打算解析拖动资源的HTML,以获取链接中的链接,文本和图像的URL。

它在Firefox 19(Windows和Mac)上运行良好。它曾经在Chrome 25上运行,但自从最新更新以来,它不适用于Chrome for Mac 26,尽管它适用于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"]

其中不包含我的网络应用所需的“text / html”。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

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

抱歉麻烦。挂在那里它应该重新开始工作。

答案 1 :(得分:0)

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

与此同时,我依次点击图片进行插入:http://jsfiddle.net/kthornbloom/jwvha/366/

.