Sto provando a prescindere dal controllo sul navigator.userAgent, sfruttando il fatto che la scelta sulle funzioni da attivare dipende dallo stato iniziale del div stesso: se none (quindi su smartphone) si esegue apriMenu(), altrimenti le altre funzioni.
Ho notato che non va, così ho aggiunto un controllo booleano, e questo è il blocco if di controllo iniziale:
codice:
var controllo = false;
var idTag = document.getElementById("destrotag");
var leggiDisplay = window.getComputedStyle(idTag).display;
alert(leggiDisplay);
function decidi() {
	if (leggiDisplay == "none") {
		apriMenu();
	} else {
		controllo = true;
	}
}
alert(controllo);
Ora, se non vado errato, qualora il primo alert restituisse un valore diverso da none, controllo dovrebbe diventare true, eppure non succede questo! Caricando la pagina, il primo alert dice block, il secondo dice false, quindi non entra nell'else! Perché???