zoukankan      html  css  js  c++  java
  • javascript与剪贴板交互[]

    从哪个网上找的js操作剪贴板的操作,还没着么看过,先放着。

    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 
  • 相关阅读:
    置顶
    hbck2的一些用法
    常用的jvm一些监控命令
    HBCK2修复hbase2的常见场景
    HBase2版本的修复工具HBCK2
    使用python写入excel
    CentOS-Linux下面的xfs磁盘配额
    使用podman容器部署飞儿云框架
    在docker中安装宝塔
    在CentOS7中安装Docker并开一台CentOS8的容器
  • 原文地址:https://www.cnblogs.com/kaka8384/p/1190215.html
Copyright © 2011-2022 走看看