[Clipboard] Chromeで非常に長い文字列をコピーできない

文書番号 : 82453     文書種別 : Limit
登録日 : 2017/12/01     最終更新日 : 2017/12/01

対象製品

Wijmo 5

発生環境

Chromeでのみ発生

詳細

wijmo.Clipboard.copyメソッドで、20万文字(環境によって文字数は異なる場合があります)などの非常に長い文字列をコピーすることができません。
この現象はChromeでのみ発生し、Chromeの動作に起因する制限事項です。

Chromeでは、ボタンクリックなどのユーザー操作を行ってからある程度時間が経過すると、コピー処理が失敗してしまいます。
wijmo.Clipboard.copyメソッドでは、内部処理で非表示のtextareaに文字列を設定して選択するという処理を行っています。この現象は、長い文字列をコピーした際にこの一連の処理に時間がかかってしまうために発生しています。

再現手順

■Wijmoのコピー処理
1. 「クリップボードをクリア」ボタンと「コピー(Wijmo)」ボタンを順にクリックします。
結果: 「コピー失敗」というメッセージが表示され、ペーストすると空白文字が貼り付けられます。

■標準のコピー処理(Wijmoのコピー処理を疑似的に実現した処理)
1. 「クリップボードをクリア」ボタンと「コピー(標準機能)」ボタンを順にクリックします。
結果: 「コピー失敗」というメッセージが表示され、ペーストすると空白文字が貼り付けられます。

■ボタンクリックして時間をおいてから短い文字列をコピー
1. 「クリップボードをクリア」ボタンと「コピー(2秒後)」ボタンを順にクリックします。
結果: 「コピー失敗」というメッセージが表示され、ペーストすると空白文字が貼り付けられます。

サンプル