Détecter le changement d'orientation de l'écran avec JavaScript
Concept et utilisation
La fonction ScreenOrientationChange()
permet de détecter le changement d'orientation de l'écran.
Constructeur
ScreenOrientationChange()
Retourne un objet détecteur de changement d'orientation de l'écran.
- Syntaxe
new ScreenOrientationChange();
- Paramètre
Aucun.
- Méthodes de l'instance
detecteur.addListener()
La méthode
addListener()
de l'interfaceScreenOrientationChange()
ajoute un écouteur au détecteur de changement d'orientation de l'écran.- Syntaxe
detecteur.addListener(ecouteur);
- Paramètre
ecouteur
(Function)Le paramètre
ecouteur
de la méthodeaddListener()
définit un écouteur de changement de valeur qui sera ajouté au détecteur.
Il s'agit d'une fonction de rappel, dont l'argument contiendra la valeur de l'orientation de l'écran.
detecteur.removeListener()
La méthode
removeListener()
de l'interfaceScreenOrientationChange()
supprime un écouteur du détecteur de changement d'orientation de l'écran.- Syntaxe
detecteur.removeListener(ecouteur);
- Paramètre
ecouteur
(Function)Le paramètre
ecouteur
de la méthoderemoveListener()
définit un écouteur de changement de valeur qui sera supprimé du détecteur.
Exemple de détection de changement d'orientation de l'écran
var detecteur = new ScreenOrientationChange();
var ecouteur = function(orientation) {
console.log(orientation); // renvoie : "landscape" ou "portrait"
detecteur.removeListener(ecouteur); // retire l'écouteur du détecteur
};
detecteur.addListener(ecouteur); // ajoute l'écouteur au détecteur
Code source de la fonction
function ScreenOrientationChange(){var a=[],b=0,p='portrait',l='landscape',
m=window.matchMedia('(orientation: '+p+')');m.addListener(function(e){
var o=e.matches?p:l;for(var i=0;i<b;i++){a[i](''+o);}});return {
addListener:function(fn){a.push(fn);b++;},removeListener:function(fn){
for(var i=0;i<b;i++){if(a[i]===fn){a.slice(i,1);b--;break;}}}}}
Dernière mise à jour le .