[js]javascript与剪贴板交互

2016-02-19 11:50 5 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的[js]javascript与剪贴板交互,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

1.怎样操作剪贴板,从而实现复制、剪切与粘贴?同时判断剪贴板里边的数据是否是文本?
if (!IsClipboardFormatAvailable(CF_TEXT)) 
return; 
if (!OpenClipboard(hwndMain)) 
return; 

hglb = GetClipboardData(CF_TEXT); 
if (hglb != NULL) 

lptstr = GlobalLock(hglb); 
if (lptstr != NULL) 

// Call the application-defined ReplaceSelection 
// function to insert the text and repaint the 
// window. 

ReplaceSelection(hwndSelected, pbox, lptstr); 
GlobalUnlock(hglb); 


CloseClipboard(); 

2.可以使用javascript获得windows剪贴板里的字符串吗?
比如在网页中实现点击一个文本框 就把剪贴板里的字符粘贴进去

当然可以
form 

input name=txtSearch value="" 
input type=button value=Copy2Clip onclick='javascript: var textRange=txtSearch.createTextRange(); textRange.execCommand("Copy")' 
/p 

input name="copyto" type="text" id="copyto" 
input type=button value=PastefromClip onclick='javascript: var textRange=copyto.createTextRange(); textRange.execCommand("Paste")' 
/p 
/form 

3.javascript和剪贴板的交互 

一般可以这样将id为‘objid'的对象的内容copy到剪贴板

var rng = 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.怎么判断剪贴板中的数据是否为字符串而不是图片或别的信息?

Private Sub Command1_Click() 
If Clipboard.GetFormat(vbCFText) Or Clipboard.GetFormat(vbCFRTF) Then 
MsgBox "ok" 
End If 
End Sub 





6.请问如何判断剪贴板中不为空? 


一、

Eg 
判断windows剪贴板里是否为空,没有则读取图片到Image中 
uses clipbrd; 

if ClipBoard.HasFormat(CF_Picture) then 
Image1.Picture.Assign(ClipBoard); 
   二、

uses Clipbrd; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
if Clipboard.FormatCount = 0 then 
{ TODO : 空 }; 
end; 



7.怎样确定剪贴板中的数据是否为图象? 


GetFormat 方法示例 
本示例使用 GetFormat 方法确定 Clipboard 对象上数据的格式。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按 F5 键并单击该窗体。 

Private Sub Form_Click () 
' 定义位图各种格式。 
Dim ClpFmt, Msg ' 声明变量。 
On Error Resume Next ' 设置错误处理。 
If Clipboard.GetFormat(vbCFText) Then ClpFmt = ClpFmt + 1 
If Clipboard.GetFormat(vbCFBitmap) Then ClpFmt = ClpFmt + 2 
If Clipboard.GetFormat(vbCFDIB) Then ClpFmt = ClpFmt + 4 
If Clipboard.GetFormat(vbCFRTF) Then ClpFmt = ClpFmt + 8 
Select Case ClpFmt 
Case 1 
Msg = "The Clipboard contains only text." 
Case 2, 4, 6 
Msg = "The Clipboard contains only a bitmap." 
Case 3, 5, 7 
Msg = "The Clipboard contains text and a bitmap." 
Case 8, 9 
Msg = "The Clipboard contains only rich text." 
Case Else 
Msg = "There is nothing on the Clipboard." 
End Select 
MsgBox Msg ' 显示信息。 
End Sub 

来源:http://www.tulaoshi.com/n/20160219/1598823.html

延伸阅读
腾讯微云剪贴板如何使用   1、电脑上复制,在手机上粘贴的方法: 首先在电脑打开微云客户端,使用Ctrl+C复制一段文字=》再按Ctrl+D会发送=》通过手机上打开微云,进入微云更多=》剪贴板=》在接收消息中可查看到。 2、手机上复制,在电脑上粘贴的方法: 进入微云2.0版本中更多=》剪贴板=》在输入框中输入文字=》点击...
win7剪贴板怎么打开?   在电脑或者U盘使用操作过程中经常会出现问题,前辈在分享处理经验时也经常会提到清空剪贴板的处理方式,可是究竟Win7系统剪贴板在哪里呢?下面图老师小编就给大家演示如何打开Win7系统中的剪贴板。 首先我们要知道,不同于XP系统,Win7是没有界面形式的剪贴板的。 查看Win7剪贴板步骤如下: 1、...
如何开启Win7剪贴板?   如何开启Win7剪贴板? 操作方法如下: 一、首先我们打开自己电脑桌面里的开始菜单,然后看到里面的有一个搜索框,然后在里面输入CMD这个词,然后点击回车就可以打开命令窗口了。 二、然后我们在打开的命令窗口中在输入clip /?这个命令,然后就可以看到剪贴板了,如图所示。 我们在...
标签: 浏览器
如何屏蔽IE访问“剪贴板”提示   使用IE浏览器在某些网页进行复制粘贴操作的时候,经常会跳出一个烦人的提示:确定允许此网页访问"剪贴板"吗?在这些网页粘贴内容的时候,每次都要点击允许访问,非常的麻烦。下面就教大家如何屏蔽这个剪切板提示。 解决方法: 1.在IE的菜单栏中,选择工具-Internet选项即可打...
标签: Web开发
html head meta http-equiv="Content-Type" content="text/html; charset=gb2312" title交时自动复制到剪贴板/title /head script language="JavaScript" /*功能:提交时自动复制到剪贴板 */ function copyText(obj) { ie = (document.all)? true:false if (ie){ var r...

经验教程

433

收藏

77
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部