简体   繁体   English

跨浏览器HTML5拖放JSON DataTransfer失败

[英]Cross-browser HTML5 Drag and Drop JSON DataTransfer fails

I came to notice that for some reason it is not possible to transfer data from chrome to firefox or viceversa through a draggable object when the mime is set to application/json . 我注意到,由于某些原因,当mime设置为application/json时,无法通过可拖动对象将数据从chrome传输到firefox或反之。

See demo here: http://jsfiddle.net/n7N9p/4/ 请参阅此处的演示: http//jsfiddle.net/n7N9p/4/

(Open that link in both, chrome and firefox and try dragging the JSON draggable from one browser to the other). (打开chrome和firefox中的链接,然后尝试将JSON draggable从一个浏览器拖到另一个浏览器中)。

With that I have tested dragging the draggable in different scenarios: 有了这个,我测试了拖动不同场景中的拖动:

  1. From CHROME to CHROME via text works . 从CHROME到CHROME通过文字 作品
  2. From CHROME to CHROME via application/json works . 从CHROME到CHROME通过application / json 作品
  3. From CHROME to CHROME INCOGNITO via text works . 从CHROME到CHROME INCOGNITO通过文字 作品
  4. From CHROME to CHROME INCOGNITO via application/json works . 从CHROME到CHROME INCOGNITO通过application / json 作品
  5. From FIREFOX to FIREFOX via text works . 从FIREFOX到FIREFOX通过文字 作品
  6. From FIREFOX to FIREFOX via application/json works . 从FIREFOX到FIREFOX通过application / json 工作
  7. From FIREFOX to FIREFOX PRIVATE WINDOW via text works . 从FIREFOX到FIREFOX PRIVATE WINDOW通过文字 作品
  8. From FIREFOX to FIREFOX PRIVATE WINDOW via application/json works . 从FIREFOX到FIREFOX PRIVATE WINDOW通过application / json 工作
  9. From CHROME to FIREFOX via text works . 从CHROME到FIREFOX通过文字 作品
  10. From CHROME to FIREFOX via application/json does not work . 从CHROME到FIREFOX通过application / json 不起作用
  11. From FIREFOX to CHROME via text works . 从FIREFOX到CHROME通过文字 作品
  12. From FIREFOX to CHROME via application/json does not work . 通过application / json从FIREFOX到CHROME 不起作用

Why does (only) 10 and 12 fail? 为什么(仅)10和12失败?

Is this a bug or security feature? 这是一个错误还是安全功能? If it is a security feature, then why is it insecure? 如果它是一个安全功能,那为什么它不安全? How come 3, 4, 7 and 8 are not considered insecure? 3号,4号,7号和8号怎么不被认为是不安全的? Why does it always work with the mime set to text ? 为什么它总是适用于设置为text的mime?

Why does (only) 10 and 12 fail? 为什么(仅)10和12失败?

application/json can be serialized to text if the browser knows the source 如果浏览器知道源,则可以将application/json序列化为文本

How come 3, 4, 7 and 8 are not considered insecure? 3号,4号,7号和8号怎么不被认为是不安全的?

The data is transferred from client to client, not client to server 数据从客户端传输到客户端,而不是客户端传输到服务器

Why does it always work with the mime set to text? 为什么它总是适用于设置为文本的mime?

The setData method of the dataTransfer object accepts text and dataURLs dataTransfer对象的setData方法接受text和dataURL

References 参考

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM