3

ZeroClipboardは、ブラウザがクリップボードにテキストを入力できるようにするjavascript + flashスクリプトであり、選択した要素の上に透明なフラッシュを配置します。クリックすると、クリップボードにテキストを挿入できます。これは問題ありませんが、必要です。自動化します。Onloadは、ユーザーが後で貼り付けることができるように、クリップボードに文字列を配置します。いくつかのコードmain.js

$('document').ready(function() {
ZeroClipboard.setMoviePath("http://url/to/ZeroClipboard.swf");
  var clip=new ZeroClipboard.Client();
 clip.on( 'load', function(client) {
   clip.glue('#redirlink');
} );
});

html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr" >
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="main.js"></script>

    <title>TEST</title>
  </head>
  <body>


      <div >
     <a  id="redirlink" data-clipboard-text="abcd" href="http://alabala.com" >Click HERE</a>

    </div>

  </body>
</html>

さて、問題は、zeroClipboardが置くクリックイベントをどのようにシミュレートできるかということです。試してみましたが、$('#obkect_id").click();機能しません(イベントは発生しますが、クリップボードには影響しませんが、マウスでクリックすると機能します)。それを達成する方法はありますか?

4

2 に答える 2

4

ZeroClipboard の最新バージョンでは、Client() が廃止されました。したがって、コードも少し変更されます。こちらのGithubから最新バージョンをダウンロードしてください

また、ページ/要素の読み込み時に文字列を更新/配置したいとします。ID「#id」を持つ「要素」をクリックすると、クリップボードにテキストをロードする必要があります

<script>
var str = 'Some text';
$('element').attr('data-clipboard-text','str');
ZeroClipboard.setDefaults({moviePath:'http://...../ZeroClipboard.swf'});
var clip = new ZeroClipboard($('#id'));
clip.on('complete',function(client, args){
alert('Copied');
});
</script>

お役に立てれば

于 2013-07-31T05:11:43.650 に答える
1

残念ながら、フラッシュ オブジェクトのクリックをシミュレートして、クリップボードhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/Clipboard.html#に setData を設定することはできません。これはアドビによるセキュリティ対策です。

于 2012-12-29T06:55:14.620 に答える