复制功能跨浏览器实现

上一篇 / 下一篇  2007-10-29 17:39:24

查看( 1517 ) / 评论( 3 )
用JS来制作网页中的HTML我们知道只能通过 window.clipboardData.setData(”Text”,meintext)来实现,这个是only for IE的,近来用alimama发现他的复杂代码功能是可以在firefox下使用的。今天一研究发现好功妙的方法,他是通过flash来实现的,代码如下:
function copy_code(meintext) {
  if (window.clipboardData) {
    window.clipboardData.setData("Text", meintext)
  } else {
    var flashcopier = 'flashcopier';
    if(!document.getElementById(flashcopier)) {
      var divholder = document.createElement('div');
      divholder.id = flashcopier;
      document.body.appendChild(divholder);
    }
    document.getElementById(flashcopier).innerHTML = '';
    var divinfo = '<embed src="http://img.alimama.cn/images/_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(meintext)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashcopier).innerHTML = divinfo;
  }
  alert('已成功复制到剪贴板,您可以将代码加入到您的网站页面里了!');
}其实他就是判断在
window.clipboardData对像不存在的时候在页面加载一个swf然后内容通过变量传进去,通过swf来把内容放到剪贴板中。

http://www.coderhome.net/zifa/?p=132

TAG:

tqjs的个人空间 tqjs 发布于2007-10-30 10:17:43
其实直接用那个swf 就好了
感觉用那个ie的对象不好,还有什么安全提示,那个swf已经兼容了ie了ff,很不错了,收藏一下
flyinghail发布于2007-10-30 10:23:45
它是先判断有 window.clipboardData的话就用 window.clipboardData
我最早看到用flash的复制还是在TT上,现在叫TC了...
spjhf spjhf 发布于2007-10-31 19:12:31
收藏个
我来说两句

(可选)

Open Toolbar