ASP.NETWebページにクリップボードへのコピー機能を追加したいと思います。ZeroClipboardを見つけましたが、問題のある例は1つも見つかりませんでした。ローカルコンピューターで動作させることはできますか、それともテストするためにサーバーにアップロードする必要がありますか?
リンクの例を送ってください。
ASP.NETWebページにクリップボードへのコピー機能を追加したいと思います。ZeroClipboardを見つけましたが、問題のある例は1つも見つかりませんでした。ローカルコンピューターで動作させることはできますか、それともテストするためにサーバーにアップロードする必要がありますか?
リンクの例を送ってください。
jQueryZeroClipBoardはおそらくあなたが探しているものでしょう。ZeroClipBoardは、クリップボード機能を実現するために非表示のAdobeFlashムービーを使用します。これをプロジェクトで使用しており、完全に正常に機能しています。
実装は簡単です。Flashファイルをダウンロードしてscriptsフォルダーに含め、以下の手順に従います。
ドキュメントにjQueryとzClipを追加します。
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.zclip.js"></script>
<script>ブロック内で、「コピーボタン」となる要素にzClipをアタッチします。
$(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"
});
ドキュメントには、これを設定する方法に関する完全な例があります。Razorを使用すると仮定した場合:
<html>
<body>
<button id="copy-button" data-clipboard-text="Copy Me!" title="Click to copy me.">Copy to Clipboard</button>
<script src="@Url.Content("~/scripts/ZeroClipboard.js")"></script>
<script type="text/javascript">
var pathToSWF = '@Url.Content("~/scripts/ZeroClipboard.swf")';
</script>
<script src="@Url.Content("~/scripts/main.js)""></script>
</body>
</html>
そしてあなたの中にmain.js
:
// main.js
var clip = new ZeroClipboard( document.getElementById("copy-button"), {
moviePath: pathToSWF
} );
clip.on( 'load', function(client) {
// alert( "movie is loaded" );
} );
clip.on( 'complete', function(client, args) {
this.style.display = 'none'; // "this" is the element that was clicked
alert("Copied text to clipboard: " + args.text );
} );
clip.on( 'mouseover', function(client) {
// alert("mouse over");
} );
clip.on( 'mouseout', function(client) {
// alert("mouse out");
} );
clip.on( 'mousedown', function(client) {
// alert("mouse down");
} );
clip.on( 'mouseup', function(client) {
// alert("mouse up");
} );