[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) 

// 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> 
<p> 
<input name=txtSearch value=""> 
<input type=button value=Copy2Clip onclick='javascript: var textRange=txtSearch.createTextRange(); textRange.execCommand("Copy")'> 
</p> 
<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

(0)

相关推荐

  • 一段多浏览器的"复制到剪贴板"javascript代码

    代码如下,就不多说废话了,可以兼容基本上所有的主流浏览器(IE,FF),很多地方可以用到的: copyToClipboard = function(txt) { if(window.clipboardData) {    window.clipboardData.clearData();    window.clipboardData.setData("Text", txt); } else if(navigator.userAgent.indexOf("Opera"

  • VBS访问剪贴板的几种方法小结

    复制代码 代码如下: Set IE = CreateObject("InternetExplorer.Application") IE.Navigate("about:blank") Set clipboard = IE.document.parentWindow.clipboardData 'SetData设置剪切板的内容 clipboard.SetData "text", "忘记了,喜欢一个人的感觉" 'GetData获取

  • VBScript 剪贴板抓取URL并在浏览器中打开

    您好,CL.这是很有趣的问题,或者我们应当说,这是两个很有趣的问题.因为您实际上问了两个问题.第一个问题很简单:我可以使用脚本打开特定的 Web 站点吗?您大概已经知道答案了,我可以大声地回答您,可以!下面是一个示例脚本,它将"脚本中心"的 URL 存储在一个名为 strURL 的变量中.然后,此脚本会创建 WSH Shell 对象的一个实例,并使用 Run 方法来打开默认的 Web 浏览器并导航到指定的 URL: strURL = "http://www.microsoft

  • ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)

    在这节,我们将看到如何把多行文本框的内容复制到剪贴板上. 注意:jQuery clipboard plugin 只支持IE 界面代码: 复制代码 代码如下: <form id="form1" runat="server"> <div align="center"> <fieldset style="width: 400px; height: 300px;"> <p>请输入你的评论

  • JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)

    目前,如果使用javascript来写复制到剪贴板的代码,一般都是浏览器不兼容的.所以采用flash的方式,模拟一个层,再来复制,就可以做到全部浏览器都适用哦~ 需要下载一个swf文件,和一个js文件.把这两个文件,和htm放到一起. 图示: 必须放在服务器端使用哦. 图示: JS代码: 复制代码 代码如下: ZeroClipboard.js // Simple Set Clipboard System // Author: Joseph Huckaby var ZeroClipboard =

  • 用vbscript实现将脚本的输出复制到剪贴板

    问: 嗨,Scripting Guy!有办法将脚本输出复制到剪贴板吗? -- ZW, Marseilles, France 答: 您好,ZW.如果您不介意用一些疯狂的解决方法,那么实际上将脚本输出复制到剪贴板相当容易.首先,您需要构造一个字符串,其中包含想要的输出.然后,创建 Internet Explorer 的一个实例,然后在其中打开一个空白页.接着,利用 Internet Explorer 对象模型的内置功能,将字符串复制到剪贴板:特别是, 可以使用 clipboardData.SetDa

  • 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点

    问: 嗨,Scripting Guy!我如何从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点? -- CL 答: 您好,CL.这是很有趣的问题,或者我们应当说,这是两个很有趣的问题.因为您实际上问了两个问题.第一个问题很简单:我可以使用脚本打开特定的 Web 站点吗?您大概已经知道答案了,我可以大声地回答您,可以!下面是一个示例脚本,它将"脚本中心"的 URL 存储在一个名为 strURL 的变量中.然后,此脚本会创建 WSH Shell 对象的一个实例,并使用 Run 

  • JS复制到剪贴板示例代码

    复制代码 代码如下: /* * 复制到剪贴板 * * */ function copyToClipboard(txt) { if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", txt); } else if(navigator.userAgent.indexOf("Opera") != -1) { window.locati

  • vb.net借助剪贴板将图片导入excel内

    复制代码 代码如下: Dim im as Image=Image.FromFile ("C:/picture.bmp")   '获得Image System.Windows.Forms.Clipboard.SetDataObject(im, True)  '复制到剪贴板 Dim xlApp As Excel.Application = New Excel.Application()        Dim xlBook As Excel.Workbook Dim xlSheet As E

  • [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)  {  // Call 

  • 你未必知道的JavaScript和CSS交互的5种方法

    随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊.本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需要相互密切的合作.我们的网页中都有.js文件和.css文件,但这并不意味着CSS和js是独立不能交互的.下面要讲的这五种JavaScript和CSS共同合作的方法你也许未必知道! 用JavaScript获取伪元素(pseudo-element)属性 大家都知道如何通过一个元素的style属性获取它的CSS样式值,但能获取伪元素(pseudo-eleme

  • .net与javascript脚本的交互方法总结

    本文实例总结了.net与javascript脚本的交互方法,分享给大家供大家参考.具体方法如下: 1.asp.net呼叫js 复制代码 代码如下: Response.Write("<script language=javascript>"); Response.Write("alert('登峰欢迎您 ');" ); Response.Write("location.href='login.aspx';") ; Response.Wri

  • JS实现获取剪贴板内容的方法

    本文实例讲述了JS实现获取剪贴板内容的方法.分享给大家供大家参考,具体如下: 这里介绍了JS获取剪贴板内容的代码: <Script Language="JavaScript"> var content = clipboardData.getData("Text"); if (content!=null) { document.write("<center><font size=5 color=red>WARNING, T

  • Android WebView上实现JavaScript与Java交互

    其实webview加载资源的速度并不慢,但是如果资源多了,当然就很慢.图片.css .js .html这些资源每个大概需要10-200ms ,一般都是30ms就ok了.不过webview是必须等到全部资源都完成加载,才会进行渲染的,所以加载的速度很重要!从Google上我们了解到,webview加载页面的顺序是:先加载html,然后从里面解析出css.js文件和页面上的图片资源进行加载.如果webkit的缓存里面有,就不加载.加载完这些资源之后,就进行css的渲染和js的执行.Css的渲染一般不

  • js与flash的交互FLASH连播控制器

    该实例主要实现了js与flash的交互,运行前提是浏览器安装了flash插件! 前段时间领导提出的一个问题:能否实现多个flash的连续播放? 查了相关资料并通过自己的努力,最终实现了如下一个简单的Flash连续播放的js脚本. 该功能的实现实际上相当简单,主要是要了解js对flash控制的接口函数,知道了这些,问题的难度马上就降到了1+1=?的级别. 复制代码 代码如下: var flashs=[    "http://60.210.98.23/theater/flash/2007-07/14

  • vue.js前后端数据交互之提交数据操作详解

    本文实例讲述了vue.js前后端数据交互之提交数据操作.分享给大家供大家参考,具体如下: 前端小白刚开始做页面的时候,我们的前端页面中经常会用到表单,所以学会提交表单也是一个基本技能,其实用ajax就能实现,但他的原始语法有点...额 ...复杂,所以这里给大家提供一种用vue-resource向后端提交数据. (1)第一步,先在template中写一个表单: <el-form :model="ruleForm" :rules="rules" ref=&quo

  • vue.js与后台数据交互的实例讲解

    第一步:引入js库: <script src="../js/common/vue.min.js"></script> <script src="../js/common/vue-resource.js"></script> 前端代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti

  • JS如何使用剪贴板操作Clipboard API

    一.Document.execCommand() 方法 Document.execCommand()是操作剪贴板的传统方法,各种浏览器都支持. 它支持复制.剪切和粘贴这三个操作. document.execCommand('copy')(复制) document.execCommand('cut')(剪切) document.execCommand('paste')(粘贴) (1)复制操作 复制时,先选中文本,然后调用document.execCommand('copy'),选中的文本就会进入剪

  • pyv8学习python和javascript变量进行交互

    python取得javascript里面的值 复制代码 代码如下: import PyV8 with PyV8.JSContext() as env1:    env1.eval("""                var_i = 1;                var_f = 1.0;                var_s = "test";                var_b = true;            ""

随机推荐