Fork me on GitHub

guacamole实现剪切复制

主要功能是实现把堡垒机的内容复制到浏览器端,把浏览器端的文本复制到堡垒机上。

借助一个中间的文本框,现将堡垒机内容复制到一个文本框,然后把文本框内容复制出来。或者将需要传递到堡垒机的内容先复制到文本框,然后在传递到堡垒机上。

    //监听堡垒机端往剪切板复制事件,然后写入文本框中
    client.onclipboard = function(stream, mimetype){
        if (/^text\//.exec(mimetype)) {
            var stringReader = new Guacamole.StringReader(stream);
            var json = "";
            stringReader.ontext = function ontext(text) {
                json += text
            }

            stringReader.onend = function() {
                var clipboardElement = document.getElementById("clipboard");
                clipboardElement.value = '';
                clipboardElement.value = json;
            }
        } 
    }
    
    //将内容传送到往堡垒机,data是获取到的文本框中的内容
    function setClipboard(data) {
        var stream = client.createClipboardStream("text/plain");

        var writer = new Guacamole.StringWriter(stream);
        for (var i=0; i<data.length; i += 4096){
            writer.sendText(data.substring(i, i+4096));
        }

        writer.sendEnd();
    }
posted @ 2018-12-04 20:41  archer-wong  阅读(2833)  评论(2编辑  收藏  举报