0

aync 別のビューをロードし、current を document.write に置き換えるビューを用意しました (はい、ページ全体を置き換えたいです!):

$.ajax({
type: "GET",
url: myUrl,
data: null,
async: true,        
success: function (result) {

    document.close();
    document.open();
    document.write(result);
    document.close();
},
error: function (req, status, error) {
    $("#loading-div").html("error");
}
});

コンテンツは、独自のスクリプトと css スタイルで完全に表示されます。IE または Chrome を使用すると、すべて正常に動作します。Firefox 内でページをロードすると、document.write 経由でロードされたページが正しく機能していないようです - 特にスクリプト (一部は機能し、一部は機能しません)。

スクリプトが評価されないため、innerHTML を使用できません。

Firefox だけで正常に動作しないのはなぜですか (IE でも処理できます!)。

4

1 に答える 1

1

仕様ではdocument.open、新しいグローバルを作成する必要があります。Firefoxはそれを行います。Chrome はそうではありません。IE について話すことはできません。

したがって、古いグローバルに依存している場合、スクリプトは Chrome では機能しますが、Firefox では機能しません。

于 2013-05-08T20:36:25.047 に答える