>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Динамическое обновление XUL и JS http://forum.mozilla-russia.org/viewtopic.php?id=40110 |
oleg.butko > 21-09-2009 16:53:01 |
1. Допустим есть тулбар, у которого в chrome.manifest строчка: Выделить код Код:overlay chrome://browser/content/browser.xul chrome://projectname/content/ff-overlay.xul Можно ли без перезапуска FF заменить ff-overlay.xul на ff-overlay2.xul? Чтобы изменения сразу же вступили в силу. 2. Аналоично для JS. В ff-overlay.xul есть ссылки на файлы: Что делать, если я хочу динамически переключиться на другой JS, без перезапуска FF? 3. Аналогично вопрос для XPCOM (для JS и для dll). Но там как я понимаю без перезапуска FF не обойтись (для dll). Я так понимаю стандартный механизм обновления всегда требует перезапуска FF, а если делать обновление вручную, то в каких-то случаях можно обойтись без перезапуска. Вопрос еще можно так сформулировать: |
formatC'vt > 22-09-2009 12:06:38 |
У дополнения "Extension Developer" в меню есть функция "Reload all chrome". По описанию похоже на то, что Вы ищете (Reload all chrome without caching. Useful for testing overlay changes without restarting. ) Выделить код Код:function doReloadAllChrome() { try { // assuming bug 256504 makes it in, this should work with jar files Components.classes["@mozilla.org/chrome/chrome-registry;1"].getService(Components.interfaces.nsIXULChromeRegistry).reloadChrome(); } catch(e) { alert(e) } } |
oleg.butko > 22-09-2009 20:15:49 |
formatC'vt Насколько я понял он перезагружает весь хром и причина эффектов в этом. Тут или восстанавливать табы самому или попытаться сделать свой вариант reloadChrome, расширив стандартный. Может кто подскажет описание как правильно перехватить/дополнить любой XPCOM? |