0

Jquery Ajax を使用して動的垂直メニューを生成しています。

コードは Chrome、Firefox で正常に動作していますが、IE を使用してロードしていません。IE の Web 開発とブラウザの互換性の問題は初めてです。

デモ リンクは pumpit.in にあります。左側のメニューのローダーを参照してください。IEには表示されません。リンクをリロードすると来るかもしれません。

使用されるjsコードは次のとおりです。

$.ajax({

    type: "POST",
    url: "Index.aspx/wmCommSubComm",
    data: jsonData,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    cache: false,
    beforeSend: function () {
        // this is where we append a loading image
        $('#container_leftns').html('<img src="/images/loading123.gif" alt="Loading..." />');
        //return false;
    },
    success: function (msg) {
        //retData = msg.d;
        $('#container_leftns').html(msg.d);
        return false;
    },
    error: function () {
        // failed request; give feedback to user
        //$('#Attri_left-div').html('<p><strong>Oops!</strong> Try that again in a few moments.</p>');
    }
});

誰かが私を導くことができれば、それは非常に役に立ちます。

4

1 に答える 1

0

ajax 呼び出しの結果を読み取った後、「セクション」などの HTML5 要素が返されます。Firefox/Chrome および IE9 で問題なく動作します。ただし、IE9 未満のバージョンでは、HTML5 タグはサポートされていません。HTML5 タグを認識できません。すべての HTML5 が IE9 でサポートされているわけではないことに注意してください。参照: IE9 の HTML5 タグ

IE9 より前のバージョンの場合、javascript fix html5shim / from github html5shivを含めることで、HTML5 タグを認識できるようにすることができます。
- または -
HTML5 タグを代わりに div に変更します。


ローディング画像の修正に関しては、この回避策を行うと思います。

HTML - 読み込み中の画像をコンテナにプリロードして表示する

<div id="container_leftns_loading" class="container_leftns">
    <img src="http://pumpit.in/images/loading123.gif" alt="Loading..." />
</div>
<div id="container_leftns"></div>

JavaScript

$.ajax({
    type: "POST",
    url: "Index.aspx/wmCommSubComm",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    cache: false,
    beforeSend: function () {
        // use show instead and clear the leftns container
        $('#container_leftns_loading').show();
        $('#container_leftns').html('');
        //return false;
    },
    success: function (msg) {
        // hide the loading image when success
        $('#container_leftns_loading').hide();
        $('#container_leftns').html(msg.d);
        return false;
    },
    error: function () {
        // failed request; give feedback to user
        //$('#Attri_left-div').html('<p><strong>Oops!</strong> Try that again in a few moments.</p>');
    }
});
于 2013-02-26T08:03:11.143 に答える