Getting Current URL: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
m (removed duplicate heading)
m (added line break)
 
(One intermediate revision by one other user not shown)
Line 16: Line 16:
<pre>
<pre>
function getURL() {
function getURL() {
   var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
   var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].
          getService(Components.interfaces.nsIWindowMediator);
   var recentWindow = wm.getMostRecentWindow("navigator:browser");
   var recentWindow = wm.getMostRecentWindow("navigator:browser");
   return recentWindow ? recentWindow.content.document.location : null;
   return recentWindow ? recentWindow.content.document.location : null;
}
}
</pre>
</pre>
==Appendix==
[[Category:Example code]]

Latest revision as of 22:45, 17 July 2006

There are a variety of ways to get the current URL, depending upon the context in which your code is running:

window.location.href
window.opener.location.href
gURLBar.value

The "brute force" method always works, but isn't necessarily the most efficient. This code always returns the URL of the most recently used browser, so it isn't sufficient if you need to get the URL of a background browser.

function getURL() {
  var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].
           getService(Components.interfaces.nsIWindowMediator);
  var recentWindow = wm.getMostRecentWindow("navigator:browser");
  return recentWindow ? recentWindow.content.document.location : null;
}

Appendix