codestory

Die Anleitung zu Javascript Location

View more Tutorials:

Kostenlose Website zum Sprachenlernen:
Folge uns auf unserer fanpage, um jedes Mal benachrichtigt zu werden, wenn es neue Artikel gibt. Facebook

1- window.location

window.location gibt ein Objekt Location mit der Information von  URL vom momentanen Objekt  document .
window.location (As a String)
Achtung: Javascript 1.0 entwirf window.location wie ein String. Die nächsten Versionen von Javascript entwerfen es wie ein Objekt. Das Erbe (legacy) aus der Version 1.0 wird noch durch alle Browser akzeptiert. Deshalb können Sie eine Wert URL String für window.location zuweisen um URL des Objekt document zu ändern. Allerdings empfehle ich, dass Sie URL String für window.location.href statt von window.location zuweisen.
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 soll empfohlen werden, wie ein Objekt zu benutzen. Es hat die Properties und die nutzlichen Methode.

2- Properties

Das Objekt Location schließt die Properties:
  • href  
  • protocol
  • host
  • hostname
  • port
  • pathname
  • search
  • hash
  • username
  • password
  • origin (Read only)
PropertyDie Bezeichnung
href  Ein String, das URL von document ist.
protocolEin String, das protocol scheme von URL ist. Einschließend das Zeichen ( : ) am Ende.
hostnameEin String, das der Domain Name von URL ist.
portEin String, das der Port von URL ist, es kann leer sein.
hostEin String, das hostname:port oder hostname ist if port leer ist.
pathnameEin String, das der Pfad zur File von URL ist, einschließend das Zeichen ( / ) am Anfang des String.
searchEin String, das "querystring" von URL ist, einschließend das Zeichen (? ) am Anfang des String.
hashEin String, hash string auch sogenannt, einschließend das Zeichen ( # ) am Anfang des String.
usernameEin String, in dem der Name des Benutzer vor dem Domain-name festgelegt wird.
passwordEin String, in dem das Passwort des Benutzer vor dem Domain-name festgelegt wird.
origin (Read only)Ein String, das protocol//hostname:port oder protocal//hostname wenn port leer ist.
zum Beispiel:
  • 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>

 
Z.B,  die momentane URL der Seite holen oder die neue URL für die momentane Seite setzen.
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

Das Objekt Location schließt die Methode:
  • assign(url)
  • replace(url)
  • reload(forcedReload)
  • toString()
location.assign(url)
Das Laden der Seite mit url, die durch den Parameter der Methode geboten wird. Das Method erstellt einen neuen Geschicht-rekord, d.h Sie können die Funktion Go-Back benutzen um die vorherige Seite zurückzukehren.
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)
Das Laden der Seite mit url, die durch den Parameter der Methode geboten wird. Das Method ersetzt den momentanen Geschicht-rekord durch einen neuen Geschicht-Rekord, d.h Sie können die Funktion Go-Back nicht benutzen um die vorherige Seite zurückzukehren.
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)
Das Method location.reload(forcedReload) wird benutzt um die momentane Seite wiederzuladen (reload) . Es ist gleich wie Sie klicken auf  Refresh. Die optionale Parameter  forcedReload die 2 Werte true/false hat. Wenn forcedReload = true , d.h die Inhalt der Seite aus dem Server geladet wird. umgekehrt wenn  forcedReload = false , kann die Inhalt der Seite aus cache geholt werden wenn der Browser findet, es ist unnotwendig, aus dem Server nicht zu holen. Die Default-Wert ist false.
Nach der Aufruf des Method location.reload(forcedReload) soll die Sroll-Position des Scrollbar abhängig von forcedReload geändert werden. Konkret, wenn forceReload = false , wird die Scroll-Position nicht geändert. Für die einigen Browser wenn forcedReload = true , wird die Scroll-Position 0 zurückkehren (window.scrollY = 0).
Sie können das Method reload() aus einem Frame aufrufen um die Inhalt eines anderen Frame wiederzuladen (reload). Aber es kann blockiert werden und Sie bekommen einen Fehler wenn die 2 Frame die verschiedene Quelle hat. Studieren Sie mehr Same-Origin Policy:
Z.B: Verwenden Sie das Method 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()
Das Method gibt URL vom document zurückgeben. Es gibt genau window.location.href zurück.

4- Frames

Eine Seite kann viele Frame enthalten und ein Frame kann viele anderen Frame . Sie machen eine Hierarchie von Frame.
PropertyRead OnlyDie Bezeichnung
window.name
Den Name des Fenster holen oder setzen.
window.frameElementYDie Element zurückgeben, in die das Fenster eingebetten wird, oder null zurückgeben wenn das Fenster nicht eingebetten wird.
window.framesYEin Array der frame innerhalb des momentanen Fenster zurückgeben.
window.lengthYDie Anzahl der frame innerhalb des momentanen Fenster zurückgeben. Sehen Sie mehr window.frames.
window.parentYDen Verweis auf das Vater-Fenster vom momentanen Fenster (oder frame) zurückgeben.
window.selfYEin Verweis Objekt auf das Objekt window selbst zurückgeben.
window.openerYEinen Verweis auf das Fenster zurückgeben, das das momentane Fenster geöffnet hat.
window[0],
window[1],
etc.
YEinen Verweis auf das Objekt Fenster in  frames. Sehen Sie mehr window.frames.
window.topYEinen Verweis auf das höchste Fenster in die Hierarchie der Fenster.
zum Beispiel, Verwenden Sie Javascript um die URL von einem Frame aus einem anderen Frame zu ändern.
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>

 

View more Tutorials: