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;
}
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM