devstory

Le Tutoriel de Javascript Location

  1. window.location
  2. Properties
  3. Methods
  4. Frames

1. window.location

window.location renvoie un objet Location avec les informatons de URL de l'objet document courant.
window.location (As a String)
Il est à noter que : Javascript 1.0 conçoit window.location comme une String. Les versions Javascript suivantes le conçoivent comme un objet. L'héritage (legacy) de la version 1.0 est toujours accepté par tous les navigateurs, par conséquent, vous pouvez attribuer une valeur de chaîne d'URL à window.location pour modifier l'URL de l'objet document. Cependant, je vous recommande d'assigner la URL String à window.location.href au lieu de window.location.
legacy-location-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>window.location Example</title>
      <meta charset="UTF-8">


   </head>
   <body>

       <h1>window.location (Legacy)</h1>
       <p style="color:red;">
         Note: Javascript 1.0, window.location as a String,
         NOW, It is still accepted by all browsers
       </p>

       <button onclick="alert(window.location)">alert(window.location)</button>

       <br><br>

       <button onclick="window.location='https://google.com'">
          Set window.location='https://google.com';
       </button>


   </body>
</html>
window.location (As a Object)
window.location est recommandé pour être utilisé comme un objet, il a des propriétés (property) et des méthodes utiles.

2. Properties

L'objet Location comprend des propriétés (property) :
  • href
  • protocol
  • host
  • hostname
  • port
  • pathname
  • search
  • hash
  • username
  • password
  • origin (Read only)
Propriété
Description
href
Une chaîne, qui est le URL du document.
protocol
Une chaîne, qui est le schéma de protocole (protocol scheme) de URL. Le caractère ( : ) à la fin est inclus.
hostname
Une chaîne, qui est le nom de domaine de URL.
port
Une chaîne, qui est le port de URL. Il est peut-être vide.
host
Une chaîne, qui est hostname:port ou hostname si port est vide.
pathname
Une chaîne, qui est un chemin vers le nom de fichier de URL, y compris le caractère ( / ) au début d'une chaîne.
search
Une chaîne, qui est la "querystring" de URL, y compris le caractère ( ?) au début d'une chaîne.
hash
Une chaîne, aussi connue sous le nom de hash string, y compris le caractère ( # ) au début d'une chaîne.
username
Une chaîne, dans lequel le nom d'utilisateur est précisé devant le nom de domaine.
password
Une chaîne, dans lequel le mot de passe de l'utilisateur est précisé devant le nom de domaine.
origin (Read only)
Une chaîne, qui est protocol//hostname:port ou protocal//hostname si port est vide.
Exemple :
  • http://example.com:8080/path/to/page?param1=value1&param2=value2#hash
Property
Value
protocol
http:
hostname
example.com
port
8080
host
example.com:8080
pathname
/path/to/page
search
?param1=value1&param2=value2
hash
#hash
origin
http://example.com:8080
location-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>Location Example</title>
      <meta charset="UTF-8">
      <style>textarea {width:100%;margin-top:10px;}</style>

   </head>
   <body>

       <h1>window.location</h1>

        <button onClick="showInfos()">Show Infos</button>
        <br>

        <textarea name="name" rows="15" id="log-area"></textarea>

        <script>
           function showInfos()  {

             var logArea = document.getElementById("log-area");
             logArea.value = "";

             logArea.value += "location.href= " + location.href +"\n";
             logArea.value += "location.protocol= " + location.protocol +"\n";
             logArea.value += "location.host= " + location.host +"\n";
             logArea.value += "location.hostname= " + location.hostname +"\n";

             logArea.value += "location.port= " + location.port +"\n";
             logArea.value += "location.pathname= " + location.pathname +"\n";
             logArea.value += "location.search= " + location.search +"\n";
             logArea.value += "location.hash= " + location.hash +"\n";
             logArea.value += "location.username= " + location.username +"\n";
             logArea.value += "location.password= " + location.password +"\n";
             logArea.value += "location.origin= " + location.origin +"\n";

           }
           showInfos();
        </script>
   </body>
</html>
Par exemple, prennez URL de la page courante ou définissez une nouvelle URL pour la page en cours.
location-href-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>window.location Example</title>
      <meta charset="UTF-8">

   </head>
   <body>

       <h1>window.location.href</h1>

       <button onclick="alert(window.location.href)">alert(window.location.href)</button>

       <br><br>

       <button onclick="window.location.href='https://google.com'">
          Set window.location.href='https://google.com';
       </button>

   </body>
</html>

3. Methods

L'objet Location comprend des méthodes (method) :
  • assign(url)
  • replace(url)
  • reload(forcedReload)
  • toString()
location.assign(url)
Chargez (load) la page avec url fournie par le paramètre. Cette méthode crée un nouvel historique, ce qui signifie que vous pouvez utiliser la fonction Go-Back pour revenir à la page précédente.
location-assign-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>window.location Example</title>
      <meta charset="UTF-8">
   </head>
   <body>

       <h1>window.location.assign(url)</h1>

       <button onclick="location.assign('https://google.com')">
          location.assign('https://google.com')
       </button>

   </body>
</html>
location.replace(url)
Chargez (load) la page avec url fournie par le paramètre. Cette méthode crée un nouvel historique, ce qui signifie que vous pouvez utiliser la fonction Go-Back pour revenir à la page précédente.
location-replace-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>window.location Example</title>
      <meta charset="UTF-8">
   </head>
   <body>

       <h1>window.location.replace(url)</h1>

       <button onclick="location.replace('https://google.com')">
          location.replace('https://google.com')
       </button>

   </body>
</html>
location.reload(forcedReload)
La méthode location.reload(forcedReload) est utilisée pour recharger (reload) la page courante. C'est comme si vous cliquiez sur Refres. Le paramètre optionnel forcedReload a deux valeurs true/false. Si forcedReload = true, cela signifie que le contenu de la page sera chargé à partir d'un serveur, et vice versa, si forcedReload = false, le contenu de la page peut être extrait du cache si le navigateur trouve qu'il n'est pas nécessaire de l'extraire du serveur. La valeur par défaut est false.
Après avoir appelé la méthode location.reload(forcedReload) la position de défilement (scroll) des barres de défilement (scrollbar) peut être modifiée en fonction de forcedReload. Plus précisément, si forceReload = false la position du défilement ne change pas. Pour certains navigateurs, si forcedReload = true, la position du défilement reviendra à 0 (window.scrollY = 0).
Si vous pouvez appeler la méthode reload() depuis un Frame afin de recharger (reload) le contenu d'un autre Frame, mais elle peut être bloquée et vous recevrez une erreur si ces deux Frame ont une origine différente. En savoir plus sur Same-Origin Policy :
Exemple de l'utilisation de la méthode location.reload() :
location-reload-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>window.location Example</title>
      <meta charset="UTF-8">

      <script>
          function showCurrentTime()  {
              document.getElementById("showtime").innerHTML ="Now is " + new Date();
          }
      </script>
   </head>
   <body onload="showCurrentTime()">

       <h2>window.location.reload(true/false)</h2>

       <p id="showtime"></p>


       <button onclick="location.reload(true)">
          location.reload(true)
       </button>

   </body>
</html>
location.toString()
Cette méthode renvoie la URL du document. Plus exactement, elle renvoie window.location.href.

4. Frames

Une page peut comprendre des Frame et un Frame peut contenir autres Frame. Ils forment une hiérarchie de Frame.
Propriété
Lire seulement
Description
window.name
Obtient/définit le nom de la fenêtre.
window.frameElement
Y
Renvoie l'élément dans lequel la fenêtre est intégrée (embedded), ou null si la fenêtre n'est pas intégrée.
window.frames
Y
Renvoie un tableau des frame de la fenêtre courante.
window.length
Y
Renvoie le nombre de frame dans la fenêtre. Voir aussi window.frames.
window.parent
Y
Renvoie une référence à la fenêtre pricipale ou de la sous-frame courante.
window.self
Y
Renvoie une référence d'objet à l'objet de la window lui-même.
window.opener
Y
Renvoie une référence à la fenêtre qui a ouvert cette fenêtre courante.
window[0],
window[1],
etc.
Y
Renvoie une référence à l'objet fenêtre dans les frames. Voir window.frames pour plus de détails.
window.top
Y
Renvoie une référence à la fenêtre supérieure (topmost) de la hiérarchie de la fenêtre. Cette propriété est en lecture seulement.
Par exemple, utilisez Javascript pour changer la URL d'un Frame depuis un autre Frame.
frame-main.html
<!DOCTYPE html>
<html>
   <head>
      <title>Location example</title>
      <meta charset="UTF-8">
      <style>iframe {height:155px; width:100%}</style>
   </head>
   <body>

       <h1 id="my-h1">Main Frame</h1>

       <p>Frame 1</p>
       <iframe src="frame-a.html"></iframe>

       <p>Frame 2</p>
       <iframe src="frame-b.html"></iframe>

   </body>
</html>
frame-a.html
<!DOCTYPE html>
<html>
   <head>
      <title>frame-a.html</title>
      <meta charset="UTF-8">

      <script>
          function changeSrcOfFrame2(newUrl) {
              var frame2 = window.parent.frames[1];
              frame2.location.href = newUrl;
          }
      </script>
   </head>
   <body>

       <h2>frame-a.html</h2>

       <button onclick="changeSrcOfFrame2('frame-c.html')">
         Change Location of Frame 2 --&gt; frame-c.html
       </button>
       <br/><br/>

       <button onclick="changeSrcOfFrame2('frame-b.html')">
         Change Location of Frame 2 --&gt; frame-b.html
       </button>

   </body>
</html>
frame-b.html
<!DOCTYPE html>
<html>
   <head>
      <title>frame-b.html</title>
      <meta charset="UTF-8">
      <script>
          function showCurrentTime() {
             document.getElementById("curr-date").innerHTML= new Date();
          }
      </script>
   </head>
   <body onload="showCurrentTime()">

       <h2 id="my-h2" style="color:blue;">frame-b.html</h2>

       <p id="curr-date">...</p>

   </body>
</html>
frame-c.html
<!DOCTYPE html>
<html>
   <head>
      <title>frame-c.html</title>
      <meta charset="UTF-8">
      <script>
          function showCurrentTime() {
             document.getElementById("curr-date").innerHTML= new Date();
          }
      </script>
   </head>
   <body onload="showCurrentTime()">

       <h2 id="my-h2" style="color:red;">frame-c.html</h2>

       <p id="curr-date">...</p>

   </body>
</html>

Tutoriels de programmation ECMAScript, Javascript

Show More