123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /*
- viewport.js
- */
- function cjax(object){
- let csrf_token = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
- $.ajax({
- url: object.url,
- type: object.type || 'POST',
- data: object.data || {},
- headers: {
- 'X-CSRF-Token': csrf_token
- },
- success: object.success,
- error: object.error
- });
- }
- // Add cjax as a jQuery method
- $.cjax = cjax;
- function switchMassStorageToRemote(){
- $.cjax({
- url: '/aux/switchusbremote',
- type: 'GET',
- success: function(response) {
- //alert('Mass Storage switched to Remote successfully.');
- },
- error: function(xhr, status, error) {
- alert('Error switching Mass Storage to Remote: ' + error);
- }
- });
- }
- function switchMassStorageToKvm(){
- $.cjax({
- url: '/aux/switchusbkvm',
- type: 'GET',
- success: function(response) {
- //alert('Mass Storage switched to KVM successfully.');
- },
- error: function(xhr, status, error) {
- alert('Error switching Mass Storage to KVM: ' + error);
- }
- });
- }
- function toggleFullScreen(){
- let elem = document.documentElement;
- if (!document.fullscreenElement) {
- if (elem.requestFullscreen) {
- elem.requestFullscreen();
- } else if (elem.mozRequestFullScreen) { // Firefox
- elem.mozRequestFullScreen();
- } else if (elem.webkitRequestFullscreen) { // Chrome, Safari, Opera
- elem.webkitRequestFullscreen();
- } else if (elem.msRequestFullscreen) { // IE/Edge
- elem.msRequestFullscreen();
- }
- } else {
- if (document.exitFullscreen) {
- document.exitFullscreen();
- } else if (document.mozCancelFullScreen) {
- document.mozCancelFullScreen();
- } else if (document.webkitExitFullscreen) {
- document.webkitExitFullscreen();
- } else if (document.msExitFullscreen) {
- document.msExitFullscreen();
- }
- }
- }
- function measureMJPEGfps(imgId, callback, intervalMs = 1000) {
- let frameCount = 0;
- let lastSrc = '';
- const img = document.getElementById(imgId);
- if (!img) {
- console.error('Image element not found');
- return;
- }
- // Listen for src changes (for MJPEG, the src stays the same, but the image data updates)
- img.addEventListener('load', () => {
- frameCount++;
- });
- // Periodically report FPS
- setInterval(() => {
- callback(frameCount);
- frameCount = 0;
- }, intervalMs);
- }
- // Example usage:
- measureMJPEGfps('remoteCapture', function(fps) {
- document.title = `${fps} fps| DezuKVM`;
- });
|