MozillaPL.org - polskie centrum Mozilli

Główne menu:

zmiana zawartości karty

Projektowanie aplikacji i rozszerzeń opartych na technologiach Mozilla Foundation: XUL, JavaScript, XPCOM, XBL i innych

Moderator: Pomocy?!

zmiana zawartości karty

Postautor: Arek00 » 02 lutego 2010, 23:11

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

mam kod który przeszukuje kolejne karty w poszukiwaniu tej z odpowiednim atrybutem i jeśli ją znajdzie to mogę wykonać jakiś kod, jeśli nie znajdzie to otwiera nową kartę. kod jest wzięty z przykładu na stronie mozilli. w tej chwili działa to tak że jeśli karta o danym atrybucie zostanie znaleziona to jest ona robiona jako aktywna i dopisałem kod który zmienia adres strony która jest w tej karcie. w jaki sposób zrobić tą zmianę adresu strony ale bez aktywowania danej karty? tzn. żeby to działało bez przenoszenia znalezionych kart na pierwszy plan?

Kod: Zaznacz cały
  var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
                     .getService(Components.interfaces.nsIWindowMediator);
  for (var found = false, index = 0, tabbrowser = wm.getEnumerator('navigator:browser').getNext().gBrowser;
       index < tabbrowser.tabContainer.childNodes.length && !found;
       index++) {

    // Get the next tab
    var currentTab = tabbrowser.tabContainer.childNodes[index];
 
    // Does this tab contain our custom attribute?
    if (currentTab.hasAttribute(attrName)) {

      // Yes--select and focus it.
      tabbrowser.selectedTab = currentTab;
     window.content.document.location.href = url;

      // Focus *this* browser window in case another one is currently focused
      tabbrowser.ownerDocument.defaultView.focus();
      found = true;
    }
  }

  if (!found) {
    // Our tab isn't open. Open it now.
    var browserEnumerator = wm.getEnumerator("navigator:browser");
    var tabbrowser = browserEnumerator.getNext().gBrowser;

    // Create tab
    var newTab = tabbrowser.addTab(url);
    newTab.setAttribute(attrName, attrName);
 
    // Focus tab
    tabbrowser.selectedTab = newTab;
   
    // Focus *this* browser window in case another one is currently focused
    tabbrowser.ownerDocument.defaultView.focus();
  }
Arek00
 
Posty: 11
Z nami od: 13 marca 2009, 23:23

Odp: zmiana zawartości karty

Postautor: Grzegorz » 03 lutego 2010, 00:34

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6

Jeśli nikt nie odpowie w ciągu kilku następnych dni, radzę próbować na forum mozillazine.org.
GnuPG. Podpisuję własne wypowiedzi. | TrueCrypt. Ufam kryptografii, nie państwu. | Tor. Dbam o swoją prywatność. | OTR. Moje rozmowy nie są podsłuchiwane.

Załóż konto lub kup domenę WWW z linka polecającego: http://www.hekko.pl/?ref=34295
Grzegorz
Moderator
 
Posty: 7486
Z nami od: 15 kwietnia 2007, 12:33


Wróć do Programowanie z użyciem technologii Mozilli

Kto jest online

Zarejestrowani użytkownicy: Bing [Bot], dexter, Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: