Javascript 跨浏览器HTML5拖放JSON数据传输失败

Javascript 跨浏览器HTML5拖放JSON数据传输失败,javascript,html,cross-browser,xss,html5-draggable,Javascript,Html,Cross Browser,Xss,Html5 Draggable,我注意到,由于某种原因,当mime设置为application/json时,无法通过可拖动对象将数据从chrome传输到firefox或viceversa 请参见此处的演示: (在chrome和firefox中打开该链接,并尝试将JSON拖拽功能从一个浏览器拖到另一个浏览器) 有了这些,我在不同的场景中测试了拖动拖动: 通过文本从CHROME切换到CHROME有效 通过application/json从CHROME到CHROME工作 通过文本从CHROME到CHROME INCOGNITO工作

我注意到,由于某种原因,当mime设置为
application/json
时,无法通过可拖动对象将数据从chrome传输到firefox或viceversa

请参见此处的演示:

(在chrome和firefox中打开该链接,并尝试将JSON拖拽功能从一个浏览器拖到另一个浏览器)

有了这些,我在不同的场景中测试了拖动拖动:

  • 通过文本从CHROME切换到CHROME有效
  • 通过application/json从CHROME到CHROME工作
  • 通过文本从CHROME到CHROME INCOGNITO工作
  • 通过application/json从CHROME到CHROME INCOGNITO都能正常工作
  • 通过文本从FIREFOX到FIREFOX有效
  • 通过application/json从FIREFOX到FIREFOX有效
  • 通过文本从FIREFOX到FIREFOX私有窗口运行
  • 通过application/json从FIREFOX到FIREFOX私有窗口工作
  • 从CHROME到FIREFOX,通过文本工作
  • 通过application/json从CHROME到FIREFOX不起作用
  • 从FIREFOX到CHROME,通过文本工作
  • 通过application/json从FIREFOX到CHROME不起作用
  • 为什么(只有)10和12失败了

    这是bug还是安全特性?如果它是一个安全特性,那么为什么它是不安全的呢?为什么3、4、7和8不被认为是不安全的?为什么mime设置为
    text
    ,它总是起作用

    为什么(只有)10和12失败了

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

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

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

    为什么它总是在mime设置为文本时工作

    dataTransfer
    对象的
    setData
    方法接受文本和数据URL

    参考资料

    另请参见:*