主要功能是實現把堡壘機的內容復制到瀏覽器端,把瀏覽器端的文本復制到堡壘機上。
借助一個中間的文本框,現將堡壘機內容復制到一個文本框,然后把文本框內容復制出來。或者將需要傳遞到堡壘機的內容先復制到文本框,然后在傳遞到堡壘機上。
//監聽堡壘機端往剪切板復制事件,然后寫入文本框中
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();
}
