開発者がテキストの特定の部分をクリックしてコピーする必要がある場合、IE でそれを実装するのは比較的簡単です。しかし、クロスブラウザを実現するのはさらに困難です。 Zero Clipboard はコピーに Flash を使用するため、ブラウザに Flash がインストールされている限り実行でき、IE の document.execCommand("Copy") よりも柔軟です。
Zero Clipboard の実装原理
Zero Clipboard はコピーに Flash を使用します 以前の Clipboard Copy ソリューションでは、非表示の Flash が使用されていました。ただし、最新の Flash Player 10 では、Flash 上でクリップボードをアクティブにする操作のみが可能です。そこでZero Clipboardではこれを改良し、ボタンの上に透明なFlashをフロートさせることで、実際にクリックされるのはボタンではなくFlashとなり、Flashのコピー機能が利用できるようになりました。
クリップボード機能なし:
Flash 10 と互換性があります
サードパーティのブラウザ プラグインの使用を回避します (Adobe Flash ブラウザではセキュリティの競合)
目に見えない範囲、干渉なし、ページ デザイン
CSS の「hover」および「active」状態をサポート
ターゲット要素の「click」、「mouseenter」、および「mouseleave」イベントを保持
コールバック関数「copy before」および「copy」を提供
非常に優れています軽量! (7KB 圧縮)
まず、Zero Clipboard をダウンロードして解凍します。 ZeroClipboard.js と ZeroClipboard.swf の 2 つのファイルが必要です。これらの 2 つのファイルをプロジェクトに配置します。
クリックしてダウンロード: jquery.zclip.1.1.1
使用法:
) まず、コア ファイルを導入します
コードは次のとおりです。
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.zclip.js"></script>
2.) ページコードに汎用モジュールを記述し、コピーボタン要素の属性情報を定義します
<script language="javascript"> $(document).ready(function(){ $('a#copy-description').zclip({ path:'js/ZeroClipboard.swf', copy:$('p#description').text() }); // The link with ID "copy-description" will copy // the text of the paragraph with ID "description" $('a#copy-dynamic').zclip({ path:'js/ZeroClipboard.swf', copy:function(){return $('input#dynamic').val();} }); // The link with ID "copy-dynamic" will copy the current value // of a dynamically changing input with the ID "dynamic" }); </script>
例 1:
<a href="#" id="copy-description">点击复制效果预览</a> <p id="description">文本源……</p>
例 2:
<a href="#" id="copy-dynamic">点击复制效果预览:</a><input style="width:300px; margin-left:15px;" type="text" id="dynamic" value="Insert any text here." onfocus="if(this.value=='Insert any text here.'){this.value=''}" onblur="if(this.value==''){this.value='Insert any text here.'}" />
3.) カスタマイズされたコールバック関数を提供します。
<script language="javascript"> $(document).ready(function(){ $("a#copy-callbacks").zclip({ path:'js/ZeroClipboard.swf', copy:$('#callback-paragraph').text(), beforeCopy:function(){ $('#callback-paragraph').css('background','yellow'); $(this).css('color','orange'); }, afterCopy:function(){ $('#callback-paragraph').css('background','green'); $(this).css('color','purple'); $(this).next('.check').show(); } }); }); </script>
3.) デフォルトのパラメータ。
拡張機能の紹介:
1.) IE6、IE7、IE8、FF 3.6、Chrome 8、Safari 5、Opera 11 との互換性をテスト済み
2.)
適切な CSS 効果:
/* zClip is a flash overlay, so it must provide */ /* the target element with "hover" and "active" classes */ /* to simulate native :hover and :active states. */ /* Be sure to write your CSS as follows for best results: */ /*大概意思就是说 ZeroClip是flash叠加……就是说flash叠加在了text文本上,其实显示文字可以根据css来定义*/ a:hover, a.hover {...} a:active, a.active {...}
オンライン デモ:
1. http://demo.jb51.net/js/2016/jquery_zclip/demo1.html
2. .jb51.net/js/2016/jquery_zclip/demo2.html
この時点で、ユーザー開発者にとって、プラグインの使用方法の紹介は完了しました。残りの拡張機能はニーズに基づいて行う必要があります。決まりました。
上記は、Jquery クロスブラウザ テキスト コピー プラグイン Zero Clipboard_jquery の使用方法です。その他の関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) をご覧ください。