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'interface ScreenOrientationChange() 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éthode addListener() 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'interface ScreenOrientationChange() 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éthode removeListener() 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;}}}}}
^