2012-06-24 2 views
1

У меня есть html5 PostMessage код:Вызов функции с JSONP

window.addEventListener("message", FA.recieveMessage, false); 

что слушатель вызывающую эту функцию:

FA.recieveMessage = function(e){ 
if (e.data == "closeFA"){ 
      console.log("Type of data: "+e.data); 
} 
}; 

Сейчас на ie8 этот код не работает, потому что оно не поддержка html5 сообщений. Поэтому я подумал, что есть способ вызвать эту функцию, отправив ajax-запрос типа jsonp !?

Есть ли способ эмулировать обмен сообщениями с jsonp?

Если я отправляю запрос jsonp другому серверу, означает ли это, что это новый запрос, и он не будет знать обо всех событиях, которые были вызваны сейчас?

UPDATE

Хорошо вот то, что я хочу. Я хочу закрыть iframe. Так на одной странице, я получил этот JavaScript:

 $.ajax({url:  'http://api.apps.com/html/'+FA.appID, 
     data:  {}, 
     dataType: 'jsonp', 
     timeout: 10000, 
     jsonp: "closeIFrame" 
     }); 

Это должно инструктировать страницу приложения/HTML для вызова функции closeIframe является то, что правильно?

function closeIFrame() { 
    jQuery("#fa-iframe-container").fadeOut(300, function(){ jQuery(this).remove(); }); 
FA.bannerShown = false; 

}

+0

Может ли [длинный опрос] (http://stackoverflow.com/a/7193380/451969) помочь? –

+0

не уверен, если это уместно, по крайней мере, не то, что я хочу –

ответ

1

Да технически можно эмулировать обмен сообщениями с JSONP, каждый вызов будет новый запрос, но сессия будет доступна поэтому служба JSONP может быть состояние известно.

Update

По моему опыту вы не вызываете функции в виде файла, а каждый файл представляет собой функцию, так что вы можете иметь услуги, как:

http://example.com/add?message=hello

http://example.com/get

+0

хорошо, это хорошо знать, см. Обновление .. –

+0

см. Мое обновление еще раз ... вызывающий файл не в моей повестке дня, если честно, но если нет выбора , Мне придется. Итак, вы говорите, что добавляете еще один файл javascript? .. мой скрипт выше неправильный? –

+0

Когда я говорил о вызовах файлов, я говорил о файле, содержащем веб-службу. – user1474090

Смежные вопросы