zoukankan      html  css  js  c++  java
  • guacamole的复制粘贴

    一.发送中文或文本(针对开发环境,生产环境不需变动)
    官方下载的完整版js缺失了一部分关于粘贴板的代码,调用setclipboard方法,将外部内容复制到粘贴板的时候,提示方法不存在.需要补齐这部分源码,才能复制功能
    client.js中需要添加的代码:
     
    /**
    * Sets the clipboard of the remote client to the given text data.
    *
    * @deprecated Use createClipboardStream() instead.
    * @param {String} data The data to send as the clipboard contents.
    */
    this.setClipboard = function (data) {
    // Do not send requests if not connected
    if (!isConnected())
    return;
    // Open stream
    var stream = guac_client.createClipboardStream("text/plain");
    var writer = new Guacamole.StringWriter(stream);
    // Send text chunks
    for (var i = 0; i < data.length; i += 4096)
    writer.sendText(data.substring(i, i + 4096));
    // Close stream
    writer.sendEnd();
    };
     
    复制在357行附近,this.createOutputStream 方法的上面,然后可以调用setclipboard方法
    guac.setClipboard(val);
     
     
    二.复制功能
    将canvas内容选中的时候,会返回一个response,内容为4.blob.1.0是选择的canvas内容的base64位数据流,需要修改源码,Tunnel.js里面handleResponse方法,
    添加一段代码,将数据流单独存储,
    if (/4.blob,1.0/.test(xmlhttprequest.responseText)) {
    GLOBAL.text = xmlhttprequest.responseText;
    }
     
     
     
     
     
     
     
  • 相关阅读:
    NET Framework 4.5新特性 (二) 控制台支持 Unicode (UTF-16) 编码
    Openstack架构及配置
    MariaDB知识点总结03--从主+多主集群
    MariaDB知识点总结02--日志+备份
    Linux服务知识点总结
    MariaDB基本知识点总结01--介绍+语句
    Openstack知识点总结
    K8S知识点总结
    Docker知识点总结
    Zabbix介绍及安装(1)
  • 原文地址:https://www.cnblogs.com/htmlli/p/9198900.html
Copyright © 2011-2022 走看看