Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interface
- s.nsIWindowMediator);
- var browserWindow = windowManager.getMostRecentWindow("navigator:browser");
- var browser = browserWindow.getBrowser();
- if(browser.mCurrentBrowser.currentURI.spec == "about:blank")
- browserWindow.loadURI(url, null, postData, false);
- else
- browser.loadOneTab(url, null, null, postData, false, false);
- function openAndReuseOneTabPerURL(url) {
- var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
- var browserEnumerator = wm.getEnumerator("navigator:browser");
- // Check each browser instance for our URL
- var found = false;
- while (!found && browserEnumerator.hasMoreElements()) {
- var browserInstance = browserEnumerator.getNext().getBrowser();
- // Check each tab of this browser instance
- var numTabs = browserInstance.tabContainer.childNodes.length;
- for(var index=0; index<numTabs; index++) {
- var currentBrowser = browserInstance.getBrowserAtIndex(index);
- if ("about:blank" == currentBrowser.currentURI.spec) {
- // The URL is already opened. Select this tab.
- browserInstance.selectedTab = browserInstance.tabContainer.childNodes[index];
- // Focus *this* browser
- browserInstance.focus();
- found = true;
- break;
- }
- }
- }
- // Our URL isn't open. Open it now.
- if (!found) {
- var recentWindow = wm.getMostRecentWindow("navigator:browser");
- if (recentWindow) {
- // Use an existing browser window
- recentWindow.delayedOpenTab(url, null, null, null, null);
- }
- else {
- // No browser windows are open, so open a new one.
- window.open(url);
- }
- }
- }
Add Comment
Please, Sign In to add comment