Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 718479 of WindowEventHandlers.onhashchange

  • Revision slug: Web/API/WindowEventHandlers.onhashchange
  • Revision title: WindowEventHandlers.onhashchange
  • Revision id: 718479
  • Created:
  • Creator: Taken
  • Is current revision? No
  • Comment

Revision Content

{{APIRef}}

The hashchange event fires when a window's hash changes (see {{domxref("Window.location", "location.hash")}}).

Syntax

window.onhashchange = funcRef;

or

<body onhashchange="funcRef();">

or

window.addEventListener("hashchange", funcRef, false);

Parameters

funcRef
A reference to a function.

Example

if ("onhashchange" in window) {
    alert("The browser supports the hashchange event!");
}

function locationHashChanged() {
    if (location.hash === "#somecoolfeature") {
        somecoolfeature();
    }
}

window.onhashchange = locationHashChanged;

The hashchange event

The dispatched hashchange event has the following fields:

Field Type Description
newURL {{gecko_minversion_inline("6.0")}} DOMString The new URL to which the window is navigating.
oldURL {{gecko_minversion_inline("6.0")}} DOMString The previous URL from which the window was navigated.

Specifications

Specification Status Comment
{{SpecName('HTML WHATWG', '#windoweventhandlers', 'GlobalEventHandlers')}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML5.1', '#windoweventhandlers', 'GlobalEventHandlers')}} {{Spec2('HTML5.1')}}
{{SpecName("HTML5 W3C", "#windoweventhandlers", "GlobalEventHandlers")}} {{Spec2('HTML5 W3C')}}

Browser compatibility

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 5.0 {{CompatGeckoDesktop("1.9.2")}}

8.0

oldURL/newURL attributes are not supported.

10.6 5.0
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 2.2 {{CompatGeckoMobile("1.9.2")}} 9.0 11.0 5.0

Revision Source

<div>
 {{APIRef}}</div>
<p>The <strong>hashchange</strong> event fires when a window's hash changes (see {{domxref("Window.location", "location.hash")}}).</p>
<h2 id="Syntax">Syntax</h2>
<pre class="syntaxbox">
window.onhashchange = funcRef;
</pre>
<p><strong>or</strong></p>
<pre class="syntaxbox">
&lt;body onhashchange="funcRef();"&gt;
</pre>
<p><strong>or</strong></p>
<pre class="syntaxbox">
window.addEventListener("hashchange", funcRef, false);
</pre>
<h3 id="Parameters">Parameters</h3>
<dl>
 <dt>
  <code>funcRef</code></dt>
 <dd>
  A reference to a function.</dd>
</dl>
<h2 id="Example">Example</h2>
<pre class="brush:js">
if ("onhashchange" in window) {
    alert("The browser supports the hashchange event!");
}

function locationHashChanged() {
    if (location.hash === "#somecoolfeature") {
        somecoolfeature();
    }
}

window.onhashchange = locationHashChanged;
</pre>
<h2 id="The_hashchange_event">The hashchange event</h2>
<p>The dispatched <code>hashchange</code> event has the following fields:</p>
<table class="standard-table">
 <tbody>
  <tr>
   <td class="header">Field</td>
   <td class="header">Type</td>
   <td class="header">Description</td>
  </tr>
  <tr>
   <td><code>newURL</code> {{gecko_minversion_inline("6.0")}}</td>
   <td><code>DOMString</code></td>
   <td>The new URL to which the window is navigating.</td>
  </tr>
  <tr>
   <td><code>oldURL</code> {{gecko_minversion_inline("6.0")}}</td>
   <td><code>DOMString</code></td>
   <td>The previous URL from which the window was navigated.</td>
  </tr>
 </tbody>
</table>
<h2 id="Specifications">Specifications</h2>
<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('HTML WHATWG', '#windoweventhandlers', 'GlobalEventHandlers')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('HTML5.1', '#windoweventhandlers', 'GlobalEventHandlers')}}</td>
   <td>{{Spec2('HTML5.1')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName("HTML5 W3C", "#windoweventhandlers", "GlobalEventHandlers")}}</td>
   <td>{{Spec2('HTML5 W3C')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">Browser compatibility</h2>
<p>{{CompatibilityTable}}</p>
<div id="compat-desktop">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Chrome</th>
    <th>Firefox (Gecko)</th>
    <th>Internet Explorer</th>
    <th>Opera</th>
    <th>Safari</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>5.0</td>
    <td>{{CompatGeckoDesktop("1.9.2")}}</td>
    <td>
     <p>8.0</p>
     <p><code style="font-size: 14px;">oldURL</code>/<code style="font-size: 14px;">newURL</code>&nbsp;attributes are not supported.</p>
    </td>
    <td>10.6</td>
    <td>5.0</td>
   </tr>
  </tbody>
 </table>
</div>
<div id="compat-mobile">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Android</th>
    <th>Firefox Mobile (Gecko)</th>
    <th>IE Mobile</th>
    <th>Opera Mobile</th>
    <th>Safari Mobile</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>2.2</td>
    <td>{{CompatGeckoMobile("1.9.2")}}</td>
    <td>9.0</td>
    <td>11.0</td>
    <td>5.0</td>
   </tr>
  </tbody>
 </table>
</div>
<ul>
 <li><a href="/en-US/docs/DOM/Manipulating_the_browser_history" title="DOM/Manipulating the browser history">Manipulating the browser history</a>, <a href="/en-US/docs/DOM/window.history" title="DOM/window.history">history.pushState() and history.replaceState()</a> methods, <a href="/en-US/docs/DOM/window.onpopstate" title="DOM/window.onpopstate">popstate</a> event.</li>
</ul>
Revert to this revision