NEWS
Vis verzerrt nach Screensaver
-
Hallo,
ich habe folgendes Problem mit meiner Vis:Ich habe einen Screensaver mittels Skript (s. unten) integriert. Dabei wird lediglich die View auf eine angelegte Screensaver-View gewechselt. Bewegt man die Maus oder berührt das Touchdisplay, wird wieder auf die vorhergehende View gewechselt. Leider verschiebt sich die komplette Ansicht nachdem ich aus dem Screensaver zurückkehre (s. Bilder).
Das Phänomen tritt jedoch auch nicht immer sofort auf. Leider konnte ich bislang keine Abhängigkeit feststelle.
Wenn ich die Seite aktualisiere wird die Vis wieder korrekt angezeigt, bis der Screensaver wieder startet und das Spiel von vorn beginnt.Ich bin mir aber auch nicht sicher, ob der Screensaver das Problem ist, oder ich einen anderen Fehler eingebaut habe. Vielleicht habt ihr ja einen neuen Ansatz für mich, um das Problem zu lösen.
Der Fehler tritt sowohl am PC im Browser, sowie auf meinem FireHD 10 Wandtablet und Smartphone auf.


/* Screensaver Switch to defined screensaver view, if no mousemovement or click event detected for the defined seconds */ var screensaverView = 'Screensaver'; var prevScreensaverView = 'Home'; var screensaverSeconds = 20; var debounce; var activateScreensaver = function () { screensaverTimeout = null; if (vis.activeView !== screensaverView) { // screensaver not active yet console.log('Enabled screensaver'); prevScreensaverView = vis.activeView; vis.changeView(screensaverView); } }; var handleScreensaverEvents = function () { if (debounce) { return; } // debounce mousemove/touchmove events debounce = setTimeout(function () { debounce = null; }, 500); // clear timer if already running if (screensaverTimeout) { clearTimeout(screensaverTimeout); } if (screensaverView === vis.activeView) { // screensaver active and clicked -> disable console.log('Disable screensaver'); vis.changeView(prevScreensaverView); } // restart timer screensaverTimeout = setTimeout(activateScreensaver, screensaverSeconds * 1000); }; var screensaverTimeout = setTimeout(activateScreensaver, screensaverSeconds * 1000); document.addEventListener('click', handleScreensaverEvents); document.addEventListener('mousemove', handleScreensaverEvents); document.addEventListener('touchmove', handleScreensaverEvents);
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden