2016-03-09 82 views
0

我們正在使用3D CAD應用程序,該應用程序允許以特殊格式將3D數據複製到剪貼板。我們現在想要在瀏覽器中粘貼這個3D數據(基本上它的結構爲XML)。HTML5剪貼板API:粘貼自定義格式

我嘗試了很多與HTML5 API剪貼板,但除了文本和HTML沒有什麼作品,在clipboardData總是emtpy ...

即使我日誌類型,除了文本和HTML,它是空的: console.log(event.clipboardData.types);

檢索數據event.clipboardData.getData('application/x-egr-eai-basket-cutbuffer-uncompressed')也不起作用。

甚至可以在瀏覽器中粘貼這種自定義格式嗎?

回答

1

似乎不直接支持剪貼板的自定義數據格式。根據W3C說明書:

如果數據類型是文本/無格式:

  1. 確保編碼是每OS和語言環境約定
  2. 規格化行結尾正確根據平臺約定
  3. 放置文本上剪貼板與適當的OS剪貼板格式描述

否則,如果數據是一類的所列n中的強制性數據類型列出剪貼板

將部分與適當的OS剪貼板格式描述

否則

這是留給實現..

這表明,我認爲瀏覽器會忽略任何自定義類型。 因此,我建議簡單地將XML保存爲字符串到剪貼板並使用event.clipboardData.getData('text/plain')

+0

是的,我正在閱讀相同的規範,並且已經擔心它是如此。使用'text/plain'不起作用,可能是因爲3D應用程序將內容放入剪貼板(而不是文本)。但是,無論如何,現在看來對我來說似乎更清楚了。 –

+0

@AndreasRemdt。也許在3D應用程序的論壇上將此視爲問題。這可能是該應用程序的常見問題,他們可能有解決方法。 – Beep