4

私がやっていることは、プログラムで Web ページからすべてのテキストを選択してからコピーすることです。選択はすべて機能しますexecCommandが、コピーは機能しません。

これが私のコードです:

$.ajax({
    url: $('#url').val(),
    type: 'GET',
    success: function(res) {
        $('#result').html(res.responseText);
        $('#result').fadeIn('fast');


        $('#result').focus();
        $('#result').select();

        document.execCommand('selectall');

        // copy does not work ?
        document.execCommand('copy');

    }
});

これがJsBinの例です

ZeroClipboardなどのフラッシュソリューションも使用してみましたが、ユーザーがボタンを押さずにやりたいのに、フラッシュオブジェクト/ボタンを明示的に押してテキストをコピーする必要があるようです。zeroclip.setText('whatever');

プログラムでテキストをコピーする方法を誰か教えてもらえますか?

4

1 に答える 1

5

コピー コマンドは、IE を除くすべてのブラウザーで保護されていました (他のブラウザーでは機能しません)。ユーザーに Ctrl+C の使用を要求することは、一般的な回避策でした。

Firefox 41 (2015 年 9 月)、Chrome 42 (2015 年 4 月)、および Opera 29 (2015 年 4 月) の時点では、特定の信頼された (ユーザーによってトリガーされた) からトリガーされた場合、ほとんどの主要なブラウザーでコピー コマンドがデフォルトで使用可能になるはずです。ボタンのクリックに応答して発生するイベントなど。

MDNの互換性テーブル、および W3Cバグは、詳細情報を提供します。

于 2013-01-10T08:35:15.677 に答える