ОБНОВЛЕНИЕ: Внутренняя служба работала на прокси-сервере веб-службы ASP.Net AJAX.
1) На главной странице есть два глобальных объекта: один для внутренних подключений (Svc
), а другой для обработки DOM (Main
). Он также динамически загружает документы в iframe.
2) Этим фреймам необходим доступ к сервисам, предоставляемым Svc
, а также функция обратного вызова.
3) Проблема - передача функции, созданной в iframe, в родительский фрейм, она рассматривается как объект, а не функция и не может быть вызвана.
Может кто-нибудь предложить лучшее решение, чем то, что у меня есть в iframe:
var Main = parent.Main,
Svc = parent.Svc;
Svc.method(data, Main.createCallback(
function(response) {}
));
и в родительском фрейме:
Main.createCallback = function(func) {
return function() {
func.apply(func, arguments);
}
}