Страницы: 1
1) Как в массиве javascript в качестве ключа применить переменную типа "XUL Element"?
2) Каждый элемент DOMa имеет свой ID. Если его не указать явно, то система создает свой. Если я прав, то как получить реальный ID
элемента, не указанного явно в атрибутах.
Спасибо,
Хочу: Для каждого нового элемента <browser> из <tabbrowser> создавать специальный объект javascript. По закрытии вкладки браузера удалять специалный объект,
Типа
var Ext_PRG= { jc : [], //массив хронящий специальный объект для каждой вкладки браузера "<browser>" init : function() { this.jc=[]; gBrowser.tabContainer.addEventListener("TabOpen",Ext_PRG.tabsChanged,false); gBrowser.tabContainer.addEventListener("TabClose",Ext_PRG.tabsChanged,false); Ext_PRG.addTabBrowser(gBrowser.selectedBrowser); }, uninit : function() { gBrowser.tabContainer.removeEventListener("TabOpen",Ext_PRG.tabsChanged,false); gBrowser.tabContainer.removeEventListener("TabClose",Ext_PRG.tabsChanged,false); Ext_PRG.delTabBrowser(gBrowser.selectedBrowser); }, tabsChanged : function(event) { if(event.type=="TabOpen") Ext_PRG.addTabBrowser(event.target.linkedBrowser); else if(event.type=="TabClose") Ext_PRG.delTabBrowser(event.target.linkedBrowser); }, addTabBrowser : function(browser) { jc[browser]=new SpecBrowserObj();// Это специальный объект для каждой вкладки браузера. Здесь его создаю jc[browser].init(); }, delTabBrowser : function(browser) { try { jc[browser].uninit(); } catch(e) { alert("Element not found "+e); } jc[browser].uninit(); delete jc[browser];// Это специальный объект для каждой вкладки браузера. Здесь его удоляю } } window.addEventListener("load", Ext_PRG.init, false); window.addEventListener("unload", Ext_PRG.uninit, false);
Отредактировано lemax (03-02-2009 01:28:13)
Отсутствует
1) Как в массиве javascript в качестве ключа применить переменную типа "XUL Element"?
Вообще-то массивах в качестве ключей используются индексы: 0, 1, 2 и т. д. В массив можно положить сам browser. А browser'у приклеить поле с нужным объектом.
addTabBrowser: function (browser) { browser ["ext_RPG_specBrowserObj"] = new SpecBrowserObj (); jc. push (browser); // browser. ext_RPG_specBrowserObj. init (); jc [jc. indexOf (browser)]. ext_RPG_specBrowserObj. init (); }
2) Каждый элемент DOMa имеет свой ID. Если его не указать явно, то система создает свой. Если я прав, то как получить реальный ID
элемента, не указанного явно в атрибутах.
Вряд ли это возможно. Но у элементов tab есть свойство linkedPanel / атрибут linkedpanel - там вполне уникальный идентификатор для вкладки браузера.
Отредактировано Anton (03-02-2009 15:24:29)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Страницы: 1