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;
    }
     
     
     
     
     
     
     
  • 相关阅读:
    java项目部署到LIINUX
    JAVA项目部署(1)
    JAVA项目服务器部署
    JAVA项目部署到云服务器
    JAVA项目打包
    java项目部署
    NHibernate NHibernate使用时误区
    访问其他电脑的c盘
    unit vs单元测试
    java 获取url及url参数解析
  • 原文地址:https://www.cnblogs.com/htmlli/p/9198900.html
Copyright © 2011-2022 走看看