2012-10-22 10 views
7

私は、両方ともFlashを使用するZeroClipboardとjquery.copyに精通しています。それでは、ブラウザのセキュリティ上の理由から、コピーが許可されていないため、Flashが必要です。しかしこれは、コピー機能が携帯電話(iPhone、Android)またはiPadで動作しないことを意味します。Mobileでも動作するクリップボードにコピーしますか?

最近のブラウザー(IE7 +を含む)とモバイルブラウザーの両方で単純なクリップボードへのコピー機能を許可するリソースまたはプラグインはありますか?

ありがとうございます!

+3

_ "最新の両方のブラウザ(IE7 +を含む)..." _。 IE7は最新のブラウザですか? :) –

+0

チェックアウトhttp://stackoverflow.com/a/43001673/4680236 –

答えて

2

この正面に現代のブラウザ。ただし、execCommand()APIを使用したJSを使用したSafariのサポートは例外です。

Safariで手作業でコピーするように正常に機能するようにUIを構築すると、残りの部分にクリップボードへのコピーを実装することができます。おそらく、Safariはこれを最終的にサポートします。

オプションについてはhttps://clipboardjs.com/http://www.sitepoint.com/javascript-copy-to-clipboard/をご覧ください。

書いている時点で、Chrome 42+、Firefox 41+、IE 9+、Opera 29+などのブラウザがサポートされています。

+0

Safariは未サポートです。 –

+0

これはiOSとSafariで私の仕事です。 http://stackoverflow.com/a/43001673/4680236 –

15

フラッシュを使用せずにこれを行うには、素晴らしい解決策はありません。私はそれを単純にしておき、ユーザーがテキストを自分自身でコピーできるようにします。 Googleがユーザーに分析コードを提供してサイトに埋め込む方法です。私はそれを行うにはグーグルがそれを使用していることを行う素晴らしい方法があったと確信しています。

それをシンプルに保つ:

$(function(){ 
    $('.text').click(function(){ 
     $(this).select(); 
    }); 
}); 

フォーカスイベント: http://jsfiddle.net/khXjC/

Clickイベント:私はいくつかの最近の進展があったことから、アップデートを提供したかった http://jsfiddle.net/qjfgoeLm/

+6

フォーカスではなく、 '.click()'で '.select()'を実行する必要があります。最初にフォーカスをトリガしてからクリックすると、テキストが強調表示されますが、キャレットが表示され、テキストの選択が解除されます。 – roborourke

+0

ありがとうございました、最初に投稿したときに焦点を当てていましたが、2012年以降にブラウザが変更されていると思います。 – tlaverdure

関連する問題