Я изо всех сил пытаюсь вызвать эту необычно структурированную функцию Javascript из XUL

(function(aLeftPane) { ... }) ("History"),

Полная функция здесь: http://pastebin.com/t2QPtRET

Я не смог понять, как содержимое набора секунд в скобках передается функциям в первом наборе.

Я хочу превратить жестко закодированную "Историю" в переменную. Я пытался обернуть все это в более обычную функцию, но я не смог успешно передать ей параметры.

XUL, который вызывает функцию, в настоящее время выглядит так: oncommand="madeUpWrapperName('history');"

1 ответ

Решение
(function(aLeftPane) { ... }) ("History")

Это не необычно структурированная функция, это обычный шаблон для инкапсуляции кода в JS. Он объявляет анонимную функцию и сразу же вызывает ее. Он очень часто используется библиотеками для создания точки входа в lib и чистого разделения частного и открытого кода без загрязнения глобального пространства имен.

В вашем случае вы действительно хотите развернуть функцию:

function unwrapped(aLeftPane) 
{
    /**
     * Select left panel in Library.
     *
     * @param aBrowser Browser object in selected tab.
    ...

}

тогда в вашем xul или где-то еще:

oncommand="unwrapped('History');"
Другие вопросы по тегам