0

アプリで部分ビューをレンダリングするために使用する次の関数があります。それでも、私が渡す要素をコンテンツで満たしていません。

function RenderPartialView(view, contentcontainer, maskcontainer, params) {
     $.get(view, params, function (data) {
     $("#" + contentcontainer).html(data);
     $(maskcontainer).unmask();
    })       
}

私は自分のアプリでさまざまなメソッドからこの関数を呼び出していますが、今のところ問題はありません。ただし、現時点では、ページの前に div を追加し、RenderPartialView からの html データで div を埋めるために、メソッドからこの関数を呼び出しています。

loadExpandedDashboard: function () {
    RenderPartialView('../Metrics/ExpandedDashboard', 'expanded-view', '#expanded-view');
}

他のすべてのブラウザーではすべて正常に動作し、IE8 ではコンソール エラーは発生せず、基本的なエラー チェック コールバックを実行すると、すべて問題なく動作します。$.get() から返された「データ」をログに記録すると、自分のサーバーから要求している完全な長さの html が表示されます。このため、何が原因であるかについて完全に迷っています。どんなアイデアでも大歓迎です。ありがとう!

4

1 に答える 1

1

私の推測では、返された HTML に、IE で問題が発生しているタグの欠落や順序の誤りなどがあります。IE は、html() メソッドで受け入れるマークアップにうるさいことで知られていますが、他のブラウザーはより寛大です。

奇妙なことに、jQuery の html() 関数が機能しないときに、innerHTML プロパティを直接設定すると機能することがあります。

于 2013-10-02T15:39:48.630 に答える