0

ASP.NETWebページにクリップボードへのコピー機能を追加したいと思います。ZeroClipboardを見つけましたが、問題のある例は1つも見つかりませんでした。ローカルコンピューターで動作させることはできますか、それともテストするためにサーバーにアップロードする必要がありますか?

リンクの例を送ってください。

4

2 に答える 2

1

jQueryZeroClipBoardはおそらくあなたが探しているものでしょう。ZeroClipBoardは、クリップボード機能を実現するために非表示のAdobeFlashムービーを使用します。これをプロジェクトで使用しており、完全に正常に機能しています。

実装は簡単です。Flashファイルをダウンロードしてscriptsフォルダーに含め、以下の手順に従います。

  1. ドキュメントにjQueryとzClipを追加します。

    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.zclip.js"></script>
    
  2. <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"
    });
    
于 2013-02-25T14:32:06.240 に答える
0

ドキュメントには、これを設定する方法に関する完全な例があります。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");
} );
于 2013-02-25T14:30:16.807 に答える