香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > MSSQL >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

[js]javascript与剪贴板交互


时间:2020-10-31 14:15 作者:admin610456


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"id="copyto">
<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

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)