К примеру есть код:

Выделить код

Код:

<popup id="contentAreaContextMenu">
<menuitem 
   id="myId" 
   label="myLabel" 
   accesskey="m" 
   insertafter="context-sep-selectall" 
   oncommand="myFunction();"/>
</popup>

Что в этом коде означает атрибут insertafter?
Какие он может принимать значения (любые и произвольные)?
Каково назначение атрибута insertafter?
Является ли он обязательным?

Или например вот:

Выделить код

Код:

<popup id="contentAreaContextMenu">
   <menuitem id="context-inspect"
       insertbefore="context-sep-view"
       oncommand="inspectPopupNode();"/>
</popup>

Что здесь есть insertbefore?
А чем insertbefore отличается от insertafter?
И вообще, где почитать об этом можно на родном языке?

По форуму описание искал, не нашел.

С уважением.

STFW не помог :(
вот: http://www.google.com/codesearch?q=inse … 0%B4%D0%B0

а RTFM на великом могучем не нашел :angry:

Этот атрибут применяется только в оверлеях, когда нужно указать, в какое место добавить новый элемент.
В данном случае новый menuitem будет добавлен в <popup id="contentAreaContextMenu"> после элемента с id="context-sep-selectall"
Он необязателен.

Что в этом коде означает атрибут insertafter?

после какого элемента вставить

Какие он может принимать значения (любые и произвольные)?

id уже сужествующего элемента

Является ли он обязательным?

если он не указан, то элемент будет вставлен в конец

Yan, Dark-Demon
Вам спасибо! :)
И напоследок...

Получается insertbefore полная противоположность insertafter?
Означает перед каким элементом вставить?..

klay
Логично. :)

Yan пишет

klay
Логично. :)

Thanks!
Тема закрыта

Yan пишет

Этот атрибут применяется только в оверлеях, когда нужно указать, в какое место добавить новый элемент.

Не работает этот атрибут, например, в FF3:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <prefwindow id="BrowserPreferences">
        <prefpane id="paneSecurity">
            <hbox insertafter="addonsPhishingGroup">
                <button id="someBtn" label="Test"/>
            </hbox>
        </prefpane>
    </prefwindow>
</overlay>

Хочу добавить кнопку на стандартную страницу настроек секьюрити, но несмотря на атрибут insertafter кнопка отображается в самом верху. :sick:

KML
попробуй выкинуть из этого кода <prefwindow id="BrowserPreferences">

Shutnik пишет

попробуй выкинуть из этого кода <prefwindow id="BrowserPreferences">

Пробовал, не помогает :(

KML
а куда вешается оверлей? нужно не на окно настроек, а на таб секюрити - chrome://browser/content/preferences/security.xul

Добавлено Fri Aug  8 15:41:23 2008 :
и <prefpane id="paneSecurity"> в этом случае, кажется, тоже можно выкинуть

Shutnik, спасибо, помогло. :)

Shutnik пишет

а куда вешается оверлей? нужно не на окно настроек, а на таб секюрити - chrome://browser/content/preferences/security.xul

Данный приём не работает в FF2, таб секюрити не отрисовывается. В FF3 всё работает нормально.

что значит не отрисовывается?

Shutnik, не отрисовывается, т.е. остаётся предыдущая страница, хотя вкладка секьюрити активна.
В консоли пишет:

Выделить код

Код:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMXULDocument.loadOverlay]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://global/content/bindings/preferences.xml :: showPane :: line 629"  data: no]