Я использую расширение 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.
Майк предложил как «наихудший случай» - это то, чем я закончил на данный момент.
спасибо