复制到剪切板

虽然网上实现Ctrl + C的JS代码已经有很多了,但我还是向大家推荐一个比较好的插件zeroclipboard,兼容所有浏览器

 

下面说实现步骤:

1- 引用文件。下载后会得到两个核心文件ZeroClipboard.js和ZeroClipboard.swf,在项目中引用其中一个。

<script type="text/javascript" src="http://www.cnblogs.com/Scripts/ZeroClipboard/ZeroClipboard.js"></script>

 

2- 加载ZeroClipboard对象,并实现复制功能。

//这步很重要,设定flash文件引用路径。
ZeroClipboard.setMoviePath('http://www.cnblogs.com/Scripts/ZeroClipboard/ZeroClipboard.swf');
//创建ZeroClipboard对象
clip = new ZeroClipboard.Client();
clip.setHandCursor(true);
//加载事件,在mouseOver事件中将需要复制的内容传到flahs文件中保存
clip.addEventListener('mouseOver', function(client) {
      clip.setText($('#IndInfo').val());
});
//复制成功后弹出对话框
clip.addEventListener('complete', function(client, text) {
       alert("Copied text to clipboard:\n\n" + text);
});
//指定实现复制功能对象
clip.glue('Copy');


//下面是用到的html对象
<%= Html.Hidden("IndInfo", ViewData["IndInfoFormat"].SafeString())%>
<input type="button" value="Copy To Clipboard" id="Copy" name="Copy" />

 

3- 如果是本地调试,基于flash的安全机制,需要做一些设置

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html

直接在网页上输入flash文件的物理路径就可以了。

posted @ 2010-08-02 10:52  C.Jun  阅读(542)  评论(0编辑  收藏  举报