【问题标题】:Custom DataType in drag'n'drop between JavaFX & HTML5在 JavaFX 和 HTML5 之间拖放自定义数据类型
【发布时间】:2015-01-17 18:52:49
【问题描述】:

我想在基于 JavaFX 的应用程序中混合使用 JavaFX 和 HTML5/JS。 HTML5/JS 组件将使用 JavaFX WebView 集成,每个 HTML5/JS 组件将有一个 WebView 实例。

考虑到类Person{String:firstname, String:lastname},我正在研究JavaFX 和HTML5 之间拖放的可行性。我的目标是能够将我的模型对象删除为以下 MIME 类型:

  1. "text/plain" - 这是文本的标准 MIME 类型。我的数据类似于“Mr jerry seinfeld”
  2. "application/x-pigelvy-person" - 这将是我自己的 MIME 类型,它可以让我检测到 Drag'n'Drop 操作实际上是关于 Person 对象的。然后数据会被拖动的 Person 转换为 JSON,例如 {"firstname":"jerry","lastname":"seinfeld"}。

你可以在https://github.com/pigelvy/dnd_jfx-js查看我的消息来源。

开始拖动 JavaFX ListView 并将 Person 对象作为“text/plain”和“application/x-pigelvy-person”放入 ClipboardContent 中,我只能获取“text/plain”的数据(尽管是 JS 对象 DragEvent.dataTransfer)。无论我使用哪种浏览器(应用内的 WebView 或应用外的 Firefox/Chrome),我都会得到相同的结果

我刚刚阅读了HTML5 D'n'D specification 并根据7.8.4.1 和7.8.4.2 部分,我知道即使在另一个应用程序/文档中开始/结束时,D'n'D 也应该正确。

我刚刚注意到一些奇怪的事情:

  1. 在 2 个 Firefox 选项卡或 2 个 Opera 选项卡上加载我的 HTML 页面后,我可以访问我的自定义 MIME 类型以及“text/plain”。
  2. 在同一个 JavaFX 应用程序中的 2 个 JavaFX WebView 上加载我的 HTML 页面时,我确实可以访问我的自定义 MIME 类型,但只能访问“text/plain”。

为什么我的自定义数据类型不可用?有什么我不知道的限制吗?

【问题讨论】:

  • 您在这方面取得了成功吗?我的情况非常相似,我无法在浏览器和 JavaFx 之间使用自定义 mime 类型 dnd 对象。

标签: javascript html drag-and-drop javafx-8 javafx-webengine


【解决方案1】:

Drag'n Drop 不在 HTML5 规范中。 HTML5.1 正在进行中的工作

事实是,今天,无论出于何种原因,都不可能在不同的浏览器和 JavaFX WebViews 之间创建奇异的 MIME 类型。

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 1970-01-01
    • 2011-04-11
    • 2023-03-24
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多