js操作剪贴板

今天在学习标注工具的时候,看到一个新的对象window.clipboardData,学习下。

    window.clipboardData的作用是在页面上将需要的东西复制到剪贴板上,提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用。

成员表

下面的表格列出了 clipboardData 对象引出的成员。

方法

 

方法描述
clearData通过 dataTransferclipboardData 对象从剪贴板删除一种或多种数据格式。
getData通过 dataTransferclipboardData 对象从剪贴板获取指定格式的数据。
setData以指定格式给 dataTransferclipboardData 对象赋予数据。

注释

clipboardData 对象是为通过编辑菜单、快捷菜单和快捷键执行的编辑操作所保留的。该对象使用系统剪贴板传送信息并保留至下一个编辑操作冲掉它。数据传送的格式特别适合于多次粘贴相同的数据。

此对象在 Microsoft® Internet Explorer 5 的脚本中可用。

示例

下面的例子使用了 clipboardData 对象的 setDatagetData 方法通过快捷菜单执行剪切粘贴操作。

<SCRIPT> var bResult; // 选中要剪切的文本。在剪切事件中文本选中区的尾随空格导致剪  
//切选快捷菜单项目保持无效。 
	function fnLoad() { 
		var r = document.body.createTextRange(); 
		r.findText(oSource.innerText);
		 r.select(); 
	} // 启用剪切快捷菜单项目,该项目在 DIV 上时默认为无效 
	function fnBeforeCut() { 
		event.returnValue = false; 
	} // 以文本格式给 window.clipboardData 对象赋予数据。 
	// 将 setData 方法的结果 (Boolean) 显示在下面的输入框内。 
	function fnCut(){ 
		event.returnValue = false; 
		bResult = window.clipboardData.setData("Text",oSource.innerText); 
		oSource.innerText = ""; 
		tText.innerText += bResult; 
	} // 启用粘贴快捷菜单项目,该项目在 DIV 上时默认也为无效 
	function fnBeforePaste() { 
		event.returnValue = false; 
	} // 在 onpaste 中取消 returnValue 以便输入文本,该操作有默认 // 的行为。 
	function fnPaste() { 
		event.returnValue = false; 
		oTarget.innerText = window.clipboardData.getData("Text"); 
	} 
</SCRIPT> 
</HEAD> 
<BODY οnlοad="fnLoad()" TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="fixed" BGCOLOR="#FFFFFF" LINK="#000000" VLINK="#808080" ALINK="#000000"> 
	<DIV CLASS="clsSource" ID="oSource" onbeforecut="fnBeforeCut()" oncut="fnCut()">
		选中并剪切此文本
	</DIV> 
	<DIV CLASS="clsTarget" ID="oTarget" onbeforepaste="fnBeforePaste()" οnpaste="fnPaste()">
		将文本粘贴在这里
	</DIV>
	<BR> 
	<SPAN CLASS="clsData">
		setData 结果:
	</SPAN> 
	<INPUT CLASS="clsText" ID="tText" TYPE="text" READONLY VALUE="" SIZE="6" TABINDEX="-1"> 
</BODY>
此特性需要 Microsoft ® Internet Explorer 5.0 或以后版本。请单击下面的图标安装最新版本。然后重新装入此页再查看示例。
 
另外,对于工具中的参数传递,也许有另外的解决方法,即通过地址栏传递参数,然后在目标页面获取地址栏中传递的参数,然后再进行使用。(设想,未实施。)
 
通过实验发现一个问题,这种方法只能传递一个参数,如果用在页面间传递参数的时候。因为只有TEXT,URL,HTML等格式,如果我想用这个方法一次传递多个参数,不可用(无法解决。)

   兼容多种浏览器“复制到剪贴板”的解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值