有时候我们需要实现这样一个功能,就是在提交单据之后,弹出的提示信息可以进行复制和粘贴,所以问题就来了,clipborderData只支持IE的,在chrome,firefox中就不行了。
要兼容这些浏览器,有个好东西可以用,就是ZeroClipboard,至于ZeroClipboard原理是什么,有兴趣的可以去了解了解,不了解也没关系,直接copy来用,毕竟如果不专门搞这个的话没必要花那么多心思来弄。使用zeroclipboard,除了要用到zeroClipboard.swf,还要用到ZeroClipboard.js,这两个放在同一路径下就可以了。现在用layer生成的提示框,在父页面调用,还是蛮好看的。
<body onLoad="init()">
<span id="a">要复制的信息</span>
<button id="copys"><span>复制</span></button>
<button οnclick="returns()"><span id="back">返回</span></button>
</body>
至于要复制什么信息,完全可以指定自己想要的,比如一句话中的某几个数字,set进message就可以了
<script type="text/javascript">
var clip = null;
var message="";
var url="";
$(document).ready(function(){
ZeroClipboard.setMoviePath( "${baseStylePath}js/zeroClipboard/ZeroClipboard.swf" );
message=$("#a").text();
url="";
})
function init(){
clip = new ZeroClipboard.Client();
clip.setHandCursor(true);
clip.addEventListener('mouseOver', function (client) {
clip.setText(_messageTip);
});
clip.addEventListener('complete', function (client, text) {
parent.location.reload(url);//对指定url刷新
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前layer
});
clip.glue('copys');
}
</script>