[js]javascript与剪贴板交互

1.怎样操作剪贴板,从而实现复制、剪切与粘贴?同时判断剪贴板里边的数据是否是文本?
if(!IsClipboardFormatAvailable(CF_TEXT)) return;
if(!OpenClipboard(hwndMain)) return; hglb=GetClipboardData(CF_TEXT);
if(hglb!=NULL) { lptstr=GlobalLock(hglb); if(lptstr!=NULL) {
//Calltheapplication-definedReplaceSelection
//functiontoinsertthetextandrepaintthe //window.
ReplaceSelection(hwndSelected,pbox,lptstr); GlobalUnlock(hglb); } }
CloseClipboard(); 2.可以使用javascript获得windows剪贴板里的字符串吗?
比如在网页中实现点击一个文本框就把剪贴板里的字符粘贴进去 当然可以 form p
inputname=txtSearchvalue=””
inputtype=buttonvalue=Copy2Cliponclick=’javascript:vartextRange=txtSearch.createTextRange();textRange.execCommand(“Copy”)’
/p p inputname=”copyto”type=”text”
inputtype=buttonvalue=PastefromCliponclick=’javascript:vartextRange=copyto.createTextRange();textRange.execCommand(“Paste”)’
/p /form 3.javascript和剪贴板的交互
一般可以这样将id为‘objid’的对象的内容copy到剪贴板
varrng=document.body.createTextRange();
rng.moveToElementText(document.getElementById(“objid”));
rng.scrollIntoView(); rng.select(); rng.execCommand(“Copy”);
rng.collapse(false); setTimeout(“window.status=””,1800)
也可以用rng.execCommand(“Past”);将剪贴板的内容粘到光标当前位置。
内容参见msdn的textRange对象。
不过,copy到剪贴板的都是不带html标签的,所有html标签都将被过滤。
4.window.clipboardData.getData(“Text”)//可以获得剪贴版的文字
window.clipboardData.setData(“Text”,”你的内容”)//向剪贴板里写文本信息
5.怎么判断剪贴板中的数据是否为字符串而不是图片或别的信息?
PrivateSubCommand1_Click()
IfClipboard.GetFormat(vbCFText)OrClipboard.GetFormat(vbCFRTF)Then
MsgBox”ok” EndIf EndSub 6.请问如何判断剪贴板中不为空? 一、 Eg
判断windows剪贴板里是否为空,没有则读取图片到Image中 usesclipbrd;
ifClipBoard.HasFormat(CF_Picture)then Image1.Picture.Assign(ClipBoard);
二、 usesClipbrd; procedureTForm1.Button1Click(Sender:TObject); begin
ifClipboard.FormatCount=0then {TODO:空}; end;
7.怎样确定剪贴板中的数据是否为图象? GetFormat方法示例
本示例使用GetFormat方法确定Clipboard对象上数据的格式。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按F5键并单击该窗体。
PrivateSubForm_Click() ‘定义位图各种格式。 DimClpFmt,Msg’声明变量。
OnErrorResumeNext’设置错误处理。
IfClipboard.GetFormat(vbCFText)ThenClpFmt=ClpFmt+1
IfClipboard.GetFormat(vbCFBitmap)ThenClpFmt=ClpFmt+2
IfClipboard.GetFormat(vbCFDIB)ThenClpFmt=ClpFmt+4
IfClipboard.GetFormat(vbCFRTF)ThenClpFmt=ClpFmt+8 SelectCaseClpFmt Case1
Msg=”TheClipboardcontainsonlytext.” Case2,4,6
Msg=”TheClipboardcontainsonlyabitmap.” Case3,5,7
Msg=”TheClipboardcontainstextandabitmap.” Case8,9
Msg=”TheClipboardcontainsonlyrichtext.” CaseElse
Msg=”ThereisnothingontheClipboard.” EndSelect MsgBoxMsg’显示信息。
EndSub

<html xmlns=”;
<head runat=”server”>
    <title>Window对象的属性02</title>
    <script language=”javascript” type=”text/javascript”>
        /*
            window.screen对象:屏幕对象,包含了屏幕的相关信息。
           
window.clipboardData对象:剪贴板对象,对剪贴板操作的对象。(在网页内只能支持复制或者设置文本格式的)
            clearData(“Text”):清空剪贴板
            getData(“Text”):读取剪贴板的值,在IE中只能支持Text文本格式
            setData(“Text”,value):设置剪贴板中的值
            案例:复制地址给好友,见备注
            禁止复制:body oncopy事件中 设置 return false;
            oncopy、onpase事件:复制、粘贴事件,可用于多数控件
        */

<script language=”javascript”> 
function CopyUrl(target){ 
target.value=myimg.value; 
target.select();  
js=myimg.createTextRange();  
js.execCommand(“Copy”); 

function AddImg(target){ 
target.value=”[IMG]”+myimg.value+”[/ img]”;  (注:[/ img]中/后面有空格请去掉 )
target.select(); 
js=target.createTextRange();  
js.execCommand(“Copy”); 

</script> 
<input name=myimg type=hidden id=myimg value=”” /> 
<input name=imgurl type=text size=32 value=”” /> 
<input type=button value=”点击这里复制本站地址” onclick=”CopyUrl(imgurl);” /> 
<P>如果你喜欢本站,就推荐给你的朋友吧!</P>

            window.alert(“网页的内容,自能看,不能动!”);
            return false;
        }
    </script>
</head>
<body onload=”screenInfo();” oncopy=”forbidCopy();” >
    <form id=”form1″ runat=”server”>
    <div id=”divClipBoard” onclick=”operClipBoard();” >
       
    </div>
    <hr />
    输入密码:
    <input type=”text” oncopy=”window.alert(‘禁止复制!’);return
false;” />
    再输入一边密码:
    <input type=”text” onpaste=”window.alert(‘禁止粘贴!’);return
false;” />
    </form>
</body>
</html>

<span id=”tbid”>;
[<a href=”#”
onclick=”copyText(document.all.tbid)”>点击复制</a>]<br/><br/>
<span id=”tbid2″>;
[<a href=”#”
onclick=”copyText(document.all.tbid2)”>点击复制</a>]<br/><br/>

<input name=myimg type=hidden id=myimg
value=”” />
<input name=imgurl type=text size=32 value=””
/>
<input type=button value=”点击这里复制本站地址”
onclick=”CopyUrl(imgurl);” />

复制代码 代码如下:

            var divObj = document.getElementById(“divClipBoard”);
            var content = divObj.innerText;
            content = “您复制的内容是:” + content + ” \r\n
资源来源:” + window.location.href;
            window.alert(‘复制成功!’);
            //客户复制完之后,这个属性才会显示内容
            window.alert(window.clipboardData.getData(“text”));
            window.clipboardData.setData(“Text”,content);
        }

<script type=”text/javascript”> 
function copyText(obj)  

var rng = document.body.createTextRange(); 
rng.moveToElementText(obj); 
rng.scrollIntoView(); 
rng.select(); 
rng.execCommand(“Copy”); 
rng.collapse(false);} 
</script> 
以下是代码片段:

调用:

inputtype=”button”name=”Submit”onClick=’copyToClipBoard()’value=”复制专题地址,传给QQ/MSN上的好友”
scriptlanguage=”javascript” functioncopyToClipBoard…

<html xmlns=”;
<head runat=”server”>
    <title></title>

<title>标题</title>
<input type=”button” name=”Submit” onClick=’copyToClipBoard()’ value=”复制专题地址,传给QQ/MSN上的好友”>
 <script language=”javascript”>
   function copyToClipBoard(){
    var clipBoardContent=””;
    clipBoardContent+=document.title;
    clipBoardContent+=””;
    clipBoardContent+=this.location.href;
    window.clipboardData.setData(“Text”,clipBoardContent);
    alert(“复制成功,请粘贴到你的QQ/MSN上推荐给你的好友”);
  }
  </script>

        /*
           
流程:先oncopy触发,触发后仅仅是将内容复制到粘贴板,如果需要2次处理的话,等内容复制到粘贴板后,再进行2次操作,也就是对值进行处理后,
            在赋值操作
        */
        function copyContent()
        {
            window.setTimeout(“OperClipBoard()”, 100);
        }

<script> 
function oCopy(obj){ 
obj.select(); 
js=obj.createTextRange(); 
js.execCommand(“Copy”) 

</script>
<input onclick=”oCopy(this)” value=”要copy的内容!”>

澳门金沙vip,提供了对剪贴板的访问。

//设置复制内容 附加 本网站的URL
        function SetCopyContent() {
            window.event.returnValue = false;
            var content = document.title + “/r/n”;
            content += document.getElementById(“txt1”).value + “/r/n”;
            content += “本资源来自 ” + this.location.href;
            window.clipboardData.setData(‘Text’, content);
            alert(“复制成功,请粘贴到你的QQ/MSN上推荐给你的好友”);
        }

}

对网页有个复制的权限,需在“安全”中的“自定义级别”的脚本中设置
clipboardData 对象 提供了对剪贴板的访问。 三个方…

        function OperClipBoard() {

clipboardData 对象