0

postMessage が利用できないと正しく動作しない Web ページがあります。シンプルなものを使いたい:

if (window.postMessage === undefined) {
  //alert the user
}

このアプローチに予測できない問題はありますか?

4

2 に答える 2

1

私はJSの専門家でもファンでもありませんが、同様の問題に関する私の経験は次のとおりです。

同様の問題がありました。オブジェクトで「postMessage」を使用して、Chrome ブラウザにロードされたネイティブ ライブラリと通信します。ある時点で、「postMessage」は、通信のために正常に機能していた後、未定義になりました。

「postMessage」を呼び出していた html オブジェクトを含む div の可視性を切り替えた後に発生したことが判明しました。

次のようなものがありました:

私たちの場合、「embed」オブジェクトで「postMessage」を呼び出していました (これが、ネイティブ層との通信が行われている方法です)。

したがって、同様のシナリオである場合は、「window」オブジェクトのいくつかのプロパティを変更したために、「postMessage」関数が未定義になった可能性があります。それは単なるヒントです。

于 2014-05-13T09:26:32.033 に答える
0
    function handlingMsg(e){
        var heightIn = (typeof e.data === "object") ? e.data['height'] : e.data;
        $("#zbFrame").attr("height",Number(heightIn));
    }
    //iframe 적용
    // <= ie8
    if (!window.addEventListener) {
        window.attachEvent("onmessage", handlingMsg);
    }else{ // > ie8
        window.addEventListener('message', handlingMsg, false);
    }
于 2014-11-04T02:51:40.817 に答える