当前位置: 代码迷 >> PB >> IE上clipboard的访问
  详细解决方案

IE上clipboard的访问

热度:50   发布时间:2016-04-29 08:00:11.0
IE下clipboard的访问
clipboard数据通过clipboardData对象访问,它有getData(),setData(),clearData()三个方法。
window.clipboardData.getData(type):获取数据;window.clipboardData.setData(type, value):设置数据为value;window.clipboardData.clearData():清除数据;type通常取值为 'Text',表示文本格式。另一个取值是'URL',表示URL格式。


相关的事件:
beforecopy,copy,beforecut,cut,beforepaste,paste

我们可以在beforecopy,beforecut,beforepaste处理函数中改变clipboard的内容,但要取消事件,则必须在copy,cut,paste事件函数中进行.

例子:
document.forms[0].elements['area1'].attachEvent('onpaste',function(){    var data = window.clipboardData.getData('Text');    if(!/^\d*$/.test(data)){        window.event.returnValue = false;    }});document.body.attachEvent('oncopy',function(){     window.event.returnValue = false;    window.clipboardData.setData('Text','复制无效');    });


以上所见只在IE有效,其它浏览器鉴于安全问题,不允许访问clipboard或设置了相关的限制。想要复制内容到clipboard中,一个实现方法是使用flash,就向javaeye实现的代码复制。以后再学习。