Функция Javascript «apply» не существует в объекте расширения window.external

Я использую расширение javascript (AKA window.external ) в IE8 (также может быть любая версия IE) для доступа к определенным функциям.
Я пытаюсь вызвать функцию apply , которая (согласно здесь ) изначально встроена в каждую функцию JS, на window.external ], но браузер продолжает выдавать исключение, что функция apply не существует для этой функции.

Например, этот код работает:

function onDataReceived(url, success, status, data, errorMessage) {
    alert(onDataReceived);
}

function innerTest() {
    alert(arguments[0] + ", " + arguments[1]);
}

function outerTest() {
    innerTest.apply(null, arguments);
}

outerTest("hello", "world");

// alerts "hello, world"

Но этот код выдает исключение:

function outerTest() {
    window.external.innerTest.apply(null, arguments); // <-- exception
}

outerTest("hello", "world");

Нижняя строка - мне нужно передать неизвестное количество аргументов внешней функции, и пока я зашел в тупик ...

Есть идеи?

РЕДАКТИРОВАТЬ:
Я принял ответ Майка Сэмюэля, поскольку (насколько я понимаю) функция apply не существует в окне . external объект, потому что это не собственный объект javascript.
Майк предложил как «наихудший случай» - это то, чем я закончил на данный момент.
спасибо

5
задан Bagelzone Ha'bonè 6 July 2011 в 18:16
поделиться