>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >ff 10: кнопка в urlbar не реагирует на события http://forum.mozilla-russia.org/viewtopic.php?id=53201 |
дилетант > 08-01-2012 15:17:05 |
доброго дня уважаемому сообществу я добавляю кнопку в urlbar: Выделить код Код:var sibling = document.getElementById("urlbar-container"); var newicon = document.getElementById("my_icon"); var parent = sibling.parentNode; if ( !newicon ) { newicon = document.createElement("image"); newicon.setAttribute("id","my_icon"); newicon.setAttribute("onclick","ff_icon_event(event);"); newicon.setAttribute("onmouseover","ff_icon_mouseover(event);"); newicon.setAttribute("onmouseout","ff_icon_mouseout(event);"); newicon.setAttribute("onfocus","ff_icon_focus(event);"); newicon.setAttribute("onblur","ff_icon_blur(event);"); sibling.appendChild(newicon); } этот код прекрасно работал во всех версиях FF. а теперь, в 10.b2, перестал :-( если вставляю кнопку так: то все классно и работает, но кнопка не на месте (она оказывается в самом конце, а мне надо сразу после адрес бара) буду признателен за любые подсказки на тему "куда рыть?" |
hydrolizer > 08-01-2012 16:23:07 |
дилетант Выделить код Код:var iconsBox = document.getElementById("urlbar-icons"); iconsBox.insertBefore(newicon, iconsBox.firstChild); (если вам нужно, чтобы ваша иконка была первой)? |
дилетант > 08-01-2012 17:12:58 |
hydrolizer спасибо большое. Ваше решение прекрасно работает, даже с моими "экзотическими" обработчиками (ценю Вашу тактичность) |
hydrolizer > 09-01-2012 13:09:36 |
дилетант Выделить код Код:var ubc=document.getElementById("urlbar-container"); var btn=document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "toolbarbutton"); btn.setAttribute("id", "my-tb-button"); btn.setAttribute("class", "toolbarbutton-1"); btn.setAttribute("style",'list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB2ElEQVQ4jbWQQUiTYRjHf9/7fA3129IsyAJdUoeQRkQlGMxFfgtvYTQWFh5CmHgS8hJ4GB4FwZsQ4kQSOwneRWqQdHB0GHQbCcUKxBCqOT5893nYN1trDjr0v70P///v+b8P/E9FE8mdaCK508ijagfh4YmuaCI5BCAQFAh6sKHw8ERXQ4A9OjXQFGjLAoN1lg02Bdqy9ujUQF1AZGSyxxBzHbBcXXpTm/ZmliHmemRksucvgK/ZPydgaaeQ2FiYXq0FbCxMr2qnkBCwfM3+uT8A9569uATYGjKbqZnFOvUB2EzNLGrIALaXKQOUkl4Bw9WlZcCtwPd389b+bt6qauq6urQsYCglvQAmgIG0eoa9qoWl92svC3WK7FVnlIf9Wh4aV06qX1HFU8koAKd4sKXBQYyxvvi4/6RwX3zcjxhjGhyneLB1DEivzH4HlgQ6rED7fMiOSW04ZMfECrTPC3QAS16GY+P57qvvTrX4H5lK3W1pPRfuvHY7p5SZP3MhqK7fj905ffZiyhR5oCH3c+9b/MvH7WL5S1WKPH3e6bMCawK3ADQ43haf9952fv14+PbV7OffN6lR941+8/LN/seGmE+AkDfOuvpwJZdJv/70IX3Y+Mz/qCPNVpGndcBkzwAAAABJRU5ErkJggg==") !important;'); ubc.parentNode.insertBefore(btn, ubc.nextSibling); btn.addEventListener("click", function(e) { Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService) .alert(null,"title","ARRGH!!!"); }, false); Кнопка создается вот здесь: |
дилетант > 11-01-2012 12:37:07 |
hydrolizer прошу прощения за задержку с ответом скажите, где у Вас размещается приведенный Вами код?
а если не проверять на ее наличие, то можно получить совершенно потрясающий результат - кучу кнопок :-) |
дилетант > 11-01-2012 13:32:37 |
да, результаты последнего эксперимента:
, то все работает, но кнопка не на месте
, то кнопка на месте, но ничего не работает ну, и окончательный результат:
, уфф! |