>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Ночичок в XUL. browser и навигация http://forum.mozilla-russia.org/viewtopic.php?id=20949 |
maxshv > 09-01-2008 18:55:29 |
Здравствуйте уважаемые девелоперы. Необходимо добавить кнопки навигации к browser. Выделить код Код:<?xml version="1.0" encoding="utf8"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="main-window" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="ТЕСТ" contenttitlesetting="true" windowtype="navigator:browser" screenX="4" screenY="4" persist="screenX screenY width height sizemode"> <toolbox> <toolbar id="nav-toolbar"> <toolbarbutton label="Назад" oncommand='window.history.back();'/> <toolbarbutton label="Вперед" oncommand='window.history.forward();'/> <spacer flex="1" /> <toolbarbutton label="Выйти" tooltiptext="Закрыть приложение" oncommand='window.close();'/> </toolbar> </toolbox> <browser id="browser" flex="1" type="content" src="index.html"/> </window> но не работает. Что нужно исправить, чтобы заработало? |
Shutnik > 09-01-2008 19:09:39 |
-> и т.д. Добавлено Wed Jan 9 19:14:21 2008 : |
Infocatcher > 09-01-2008 22:38:21 |
view-source:chrome://global/content/bindings/browser.xml (это урл) |
Michael72 > 23-04-2014 06:52:59 |
А как можно сделать, чтобы атрибут disabled у toolbarbutton label="Назад" был равен true в случае, когда document.getElementById("browser").canGoBack=false, а когда document.getElementById("browser").canGoBack=true, то disabled у label="Назад" наоборот равнялся бы false? Выделить код Код:<toolbox> <toolbar id="nav-toolbar"> <toolbarbutton label="Назад" image="images/Arrowlt.Bmp" orient="vertical" oncommand="document.getElementById('browser').goBack();" disabled="!document.getElementById('browser').canGoBack"/> <toolbarbutton label="Вперед" image="images/Arrowrt.Bmp" orient="vertical" oncommand="document.getElementById('browser').goForward();"/> </toolbar> </toolbox> Не помогает. |
Infocatcher > 24-04-2014 00:29:29 |
Michael72 пишет
Пример есть в chrome://browser/content/browser.js: Выделить код Код:gBrowser.addProgressListener(window.XULBrowserWindow); ... var XULBrowserWindow = { ... onLocationChange: function (aWebProgress, aRequest, aLocationURI, aFlags) { ... UpdateBackForwardCommands(gBrowser.webNavigation); ... }, ... }; ... function UpdateBackForwardCommands(aWebNavigation) { var backBroadcaster = document.getElementById("Browser:Back"); var forwardBroadcaster = document.getElementById("Browser:Forward"); // Avoid setting attributes on broadcasters if the value hasn't changed! // Remember, guys, setting attributes on elements is expensive! They // get inherited into anonymous content, broadcast to other widgets, etc.! // Don't do it if the value hasn't changed! - dwh var backDisabled = backBroadcaster.hasAttribute("disabled"); var forwardDisabled = forwardBroadcaster.hasAttribute("disabled"); if (backDisabled == aWebNavigation.canGoBack) { if (backDisabled) backBroadcaster.removeAttribute("disabled"); else backBroadcaster.setAttribute("disabled", true); } if (forwardDisabled == aWebNavigation.canGoForward) { if (forwardDisabled) forwardBroadcaster.removeAttribute("disabled"); else forwardBroadcaster.setAttribute("disabled", true); } } https://developer.mozilla.org/en-US/doc … ssListener Там вызывается https://developer.mozilla.org/en-US/doc … ener%28%29 |
Michael72 > 24-04-2014 02:45:17 |
Как тяжело было разобраться, но слава Б-гу получилось. Большое вам спасибо за хорошую наводку. |