4

我注意到由于某种原因,当 mime 设置为application/json.

在此处查看演示:http: //jsfiddle.net/n7N9p/4/

(在 chrome 和 firefox 中打开该链接,然后尝试将可拖动的 JSON 从一个浏览器拖到另一个浏览器)。

有了它,我已经测试了在不同场景中拖动可拖动对象:

  1. 通过文字 作品从铬到铬。
  2. 通过application/json 从 CHROME 到 CHROME工作
  3. 从 CHROME 到 CHROME INCOGNITO 通过文字 作品
  4. 通过application/json 从 CHROME 到 CHROME INCOGNITO有效
  5. 通过文字 作品从火狐到火狐。
  6. 从 FIREFOX 到 FIREFOX 通过application/json 工作
  7. 通过文本 作品从 FIREFOX 到 FIREFOX PRIVATE WINDOW 。
  8. 从 FIREFOX 到 FIREFOX PRIVATE WINDOW 通过application/json 工作
  9. 通过文字 作品从铬到火狐。
  10. 通过application/json 从 CHROME 到 FIREFOX不起作用
  11. 从 FIREFOX 到 CHROME 通过文本 作品
  12. 通过application/json 从 FIREFOX 到 CHROME不起作用

为什么(仅)10 和 12 失败?

这是错误还是安全功能?如果它是一项安全功能,那么为什么它不安全?为什么 3、4、7 和 8 不被认为是不安全的?为什么它总是与设置为的 mime 一起工作text

4

1 回答 1

1

为什么(仅)10 和 12 失败?

application/json如果浏览器知道来源,可以序列化为文本

为什么 3、4、7 和 8 不被认为是不安全的?

数据从客户端传输到客户端,而不是客户端到服务器

为什么它总是与设置为文本的 mime 一起工作?

对象的setData方法dataTransfer接受 text 和 dataURLs

参考

于 2015-08-07T01:30:28.493 回答