私はいくつかのhtml5postMessageコードを持っています:
window.addEventListener("message", FA.recieveMessage, false);
そのリスナーはこの関数を呼び出します。
FA.recieveMessage = function(e){
if (e.data == "closeFA"){
console.log("Type of data: "+e.data);
}
};
現在、ie8では、このコードは機能しません。html5メッセージングをサポートしていないためです。だから私はタイプjsonpのajaxリクエストを送信することによってその関数を呼び出す方法があるかどうかを考えました!?
jsonpでメッセージングをエミュレートする方法はありますか?
jsonpリクエストを別のサーバーに送信した場合、それは新しいリクエストであり、現在トリガーされたすべてのイベントを認識しないことを意味しますか?
アップデート
さて、これが私が欲しいものです。iframeを閉じたい。したがって、1ページに次のJavaScriptがあります。
$.ajax({url: 'http://api.apps.com/html/'+FA.appID,
data: {},
dataType: 'jsonp',
timeout: 10000,
jsonp: "closeIFrame"
});
これは、apps / htmlページにcloseIframe関数を呼び出すように指示する必要がありますか?
function closeIFrame() {
jQuery("#fa-iframe-container").fadeOut(300, function(){ jQuery(this).remove(); });
FA.bannerShown = false;
}