私は単一ページアプリケーションを開発しています。ユーザーがボタンをクリックすると、私のサーバーへのajax呼び出しを行い、戻り値を(コールバック経由で)ユーザーのクリップボードにコピーします。Firefox - document.execCommand( 'cut'/'copy')が、実行中のユーザ生成イベントハンドラ内から呼び出されなかったために拒否されました
各コンポーネントは、単独で動作しますが、私はそれらを一緒に接着したときにFirefoxが次のエラーを返します。
document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler
を私は、このエラーの詳細を知りたいのですが、何も情報がオンライン絶対にありません。このエラーを引き起こす制限条件は何ですか?それはスタックの深さですか、タイムアウトですか?
を参照し、
click
ハンドラと連携ユーザが生成したイベント(ボタンクリックなど)に対する応答。しかし、Ajax呼び出しは非同期であるため、応答が受信されるまでに元のクリックイベントは終了します。結果を別のボタン「結果をクリップボードにコピーする」(または同様のもの)と一緒に画面に結果を表示することもできます。 (クリップボードを認識せずに上書きしないので、これもユーザーにとっては嬉しいです。) – nnnnnn