Fixes #498 - Add the ability to toggle fullscreen mode
This commit is contained in:
parent
440e882ac6
commit
5fdefbf3b0
BIN
images/fullscreen.png
Normal file
BIN
images/fullscreen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 851 B |
@ -131,6 +131,19 @@ var UI;
|
|||||||
UI.setBarPosition();
|
UI.setBarPosition();
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
// Hide the button if fullscreen isn't supported
|
||||||
|
if (!document.documentElement.requestFullscreen &&
|
||||||
|
!document.documentElement.mozRequestFullScreen &&
|
||||||
|
!document.documentElement.webkitRequestFullscreen &&
|
||||||
|
!document.body.msRequestFullscreen) {
|
||||||
|
$D('fullscreenButton').style.display = "none";
|
||||||
|
} else {
|
||||||
|
Util.addEvent(window, 'fullscreenchange', UI.updateFullscreenButton);
|
||||||
|
Util.addEvent(window, 'mozfullscreenchange', UI.updateFullscreenButton);
|
||||||
|
Util.addEvent(window, 'webkitfullscreenchange', UI.updateFullscreenButton);
|
||||||
|
Util.addEvent(window, 'msfullscreenchange', UI.updateFullscreenButton);
|
||||||
|
}
|
||||||
|
|
||||||
Util.addEvent(window, 'load', UI.keyboardinputReset);
|
Util.addEvent(window, 'load', UI.keyboardinputReset);
|
||||||
|
|
||||||
Util.addEvent(window, 'beforeunload', function () {
|
Util.addEvent(window, 'beforeunload', function () {
|
||||||
@ -201,6 +214,7 @@ var UI;
|
|||||||
$D("noVNC_popup_status").onclick = UI.togglePopupStatus;
|
$D("noVNC_popup_status").onclick = UI.togglePopupStatus;
|
||||||
$D("xvpButton").onclick = UI.toggleXvpPanel;
|
$D("xvpButton").onclick = UI.toggleXvpPanel;
|
||||||
$D("clipboardButton").onclick = UI.toggleClipboardPanel;
|
$D("clipboardButton").onclick = UI.toggleClipboardPanel;
|
||||||
|
$D("fullscreenButton").onclick = UI.toggleFullscreen;
|
||||||
$D("settingsButton").onclick = UI.toggleSettingsPanel;
|
$D("settingsButton").onclick = UI.toggleSettingsPanel;
|
||||||
$D("connectButton").onclick = UI.toggleConnectPanel;
|
$D("connectButton").onclick = UI.toggleConnectPanel;
|
||||||
$D("disconnectButton").onclick = UI.disconnect;
|
$D("disconnectButton").onclick = UI.disconnect;
|
||||||
@ -437,6 +451,46 @@ var UI;
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Toggle fullscreen mode
|
||||||
|
toggleFullscreen: function() {
|
||||||
|
if (document.fullscreenElement || // alternative standard method
|
||||||
|
document.mozFullScreenElement || // currently working methods
|
||||||
|
document.webkitFullscreenElement ||
|
||||||
|
document.msFullscreenElement ) {
|
||||||
|
if (document.exitFullscreen) {
|
||||||
|
document.exitFullscreen();
|
||||||
|
} else if (document.mozCancelFullScreen) {
|
||||||
|
document.mozCancelFullScreen();
|
||||||
|
} else if (document.webkitExitFullscreen) {
|
||||||
|
document.webkitExitFullscreen();
|
||||||
|
} else if (document.msExitFullscreen) {
|
||||||
|
document.msExitFullscreen();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (document.documentElement.requestFullscreen) {
|
||||||
|
document.documentElement.requestFullscreen();
|
||||||
|
} else if (document.documentElement.mozRequestFullScreen) {
|
||||||
|
document.documentElement.mozRequestFullScreen();
|
||||||
|
} else if (document.documentElement.webkitRequestFullscreen) {
|
||||||
|
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
|
||||||
|
} else if (document.body.msRequestFullscreen) {
|
||||||
|
document.body.msRequestFullscreen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UI.updateFullscreenButton();
|
||||||
|
},
|
||||||
|
|
||||||
|
updateFullscreenButton: function() {
|
||||||
|
if (document.fullscreenElement || // alternative standard method
|
||||||
|
document.mozFullScreenElement || // currently working methods
|
||||||
|
document.webkitFullscreenElement ||
|
||||||
|
document.msFullscreenElement ) {
|
||||||
|
$D('fullscreenButton').className = "noVNC_status_button_selected";
|
||||||
|
} else {
|
||||||
|
$D('fullscreenButton').className = "noVNC_status_button";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Show the connection settings panel/menu
|
// Show the connection settings panel/menu
|
||||||
toggleConnectPanel: function() {
|
toggleConnectPanel: function() {
|
||||||
// Close the description panel
|
// Close the description panel
|
||||||
|
3
vnc.html
3
vnc.html
@ -99,6 +99,9 @@
|
|||||||
<input type="image" alt="Clipboard" src="images/clipboard.png"
|
<input type="image" alt="Clipboard" src="images/clipboard.png"
|
||||||
id="clipboardButton" class="noVNC_status_button"
|
id="clipboardButton" class="noVNC_status_button"
|
||||||
title="Clipboard" />
|
title="Clipboard" />
|
||||||
|
<input type="image" alt="Fullscreen" src="images/fullscreen.png"
|
||||||
|
id="fullscreenButton" class="noVNC_status_button"
|
||||||
|
title="Fullscreen" />
|
||||||
<input type="image" alt="Settings" src="images/settings.png"
|
<input type="image" alt="Settings" src="images/settings.png"
|
||||||
id="settingsButton" class="noVNC_status_button"
|
id="settingsButton" class="noVNC_status_button"
|
||||||
title="Settings" />
|
title="Settings" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user