Я изо всех сил пытаюсь вызвать эту необычно структурированную функцию 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');"