文档设计模式下的剪贴板——北冥重生大法?

shuangren 2003-06-22 10:58:47

近日在工作过程中发现了一个很怪异的现象,在文档设计模式下的剪贴板在某些情况下,无法实现彻底清空。

第一步:将下面的代码用浏览器打开,用ctrl+v拷贝电脑其它地方任意一段文字进来后,剪贴板被清空,第二次按ctrl+v什么也不会发生,这是正常的现象。

第二步:接下来会发生什么?在编辑区选中刚才拷贝进来的文字,复制后,ctrl+v,再ctrl+v,再ctrl+v,再......你会发现这次复制的内容无法使用setData("Text","")和clearData("Text")清空,它们很顽强的继续存在着,先别忙着惊讶,再继续。

第三步:再次拷贝电脑其它地方任意一段文字,ctrl+v,哇,二合一了;ctrl+v again,剩下一半?

第四步:打开记事本,ctrl+v,谢天谢地,终于消失了!?

第五步:打开word,ctrl+v @#$^%#,北冥重生大法???

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE></TITLE>
</HEAD>
<script language="JavaScript" type="text/javascript">
function document.onreadystatechange()
{
Composition.document.designMode="On"
}

function InitDocument()
{
Composition.document.onkeydown = CatchCtrlV;
}

function CatchCtrlV()
{
var ev = this.parentWindow.event;
if ((ev.ctrlKey==true) && (ev.keyCode==86))
filtration();
}

function filtration()
{
var strCopy = window.clipboardData.getData("Text");
if(strCopy!=null)
{
Composition.document.selection.createRange().text = strCopy;
}
strCopy = null;
clipboardData.setData("Text","");
clipboardData.clearData("Text");
}
</script>
<BODY bgcolor="menu" STYLE="margin:0pt;padding:0pt" onload="InitDocument();">
<iframe class="Composition" ID="Composition" MARGINHEIGHT="1" MARGINWIDTH="1" width="100%" height="330">
</iframe>
<div align="center"><font color="#990000"><strong><font size="+7">北冥重生大法</font></strong></font>
</div>
</BODY>
</HTML>
...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuangren 2003-07-27
  • 打赏
  • 举报
回复
thanks,结
imafool 2003-07-26
  • 打赏
  • 举报
回复
脚本是受限的。
pqqq 2003-07-26
  • 打赏
  • 举报
回复
this is bug
jeskee 2003-07-26
  • 打赏
  • 举报
回复
哥伦布
hover_online 2003-07-26
  • 打赏
  • 举报
回复
挺好啊!
cloudchen 2003-07-26
  • 打赏
  • 举报
回复
up
shuangren 2003-07-26
  • 打赏
  • 举报
回复
哪位随便re一下好让我结贴呀
shuangren 2003-06-23
  • 打赏
  • 举报
回复
没人理,看来不是简单的像1就是难度有点偏高:)

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧