I have a webpage on a desktop kiosk (ubuntu 20.04) (chromium [url] --kiosk
) where I want to let the user zoom in for accessibility purposes, but reset the zoom to the default scale after an inactivity timeout.
This is the meta tag.
<code> <meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
</code>
<code> <meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
</code>
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
I have tried this solution, it reloads the page but it does not seem to reset the zoom.
<code>var inactivityTimeout = 10;
function onInactivity() {
if (window.visualViewport.scale != 1) {
window.location.href = '/'
}
else {
resetInactivityTimeout();
}
}
function resetInactivityTimeout(event) {
console.log("Resetting inactivity timeout to " + inactivity_timeout + " seconds");
let scale = window.visualViewport.scale;
if (inactivityTimeout) {
clearTimeout(inactivityTimeout);
}
inactivityTimeout = setTimeout(onInactivity, inactivity_timeout * 1000 );
}
resetInactivityTimeout();
document.addEventListener("touchstart", resetInactivityTimeout);
</code>
<code>var inactivityTimeout = 10;
function onInactivity() {
if (window.visualViewport.scale != 1) {
window.location.href = '/'
}
else {
resetInactivityTimeout();
}
}
function resetInactivityTimeout(event) {
console.log("Resetting inactivity timeout to " + inactivity_timeout + " seconds");
let scale = window.visualViewport.scale;
if (inactivityTimeout) {
clearTimeout(inactivityTimeout);
}
inactivityTimeout = setTimeout(onInactivity, inactivity_timeout * 1000 );
}
resetInactivityTimeout();
document.addEventListener("touchstart", resetInactivityTimeout);
</code>
var inactivityTimeout = 10;
function onInactivity() {
if (window.visualViewport.scale != 1) {
window.location.href = '/'
}
else {
resetInactivityTimeout();
}
}
function resetInactivityTimeout(event) {
console.log("Resetting inactivity timeout to " + inactivity_timeout + " seconds");
let scale = window.visualViewport.scale;
if (inactivityTimeout) {
clearTimeout(inactivityTimeout);
}
inactivityTimeout = setTimeout(onInactivity, inactivity_timeout * 1000 );
}
resetInactivityTimeout();
document.addEventListener("touchstart", resetInactivityTimeout);
Do you have any advice?
New contributor
DavideAntonioB is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.