1

私の問題は、jQuery Form プラグイン ( http://jquery.malsup.com/form/ ) を使用してフォームを送信しようとするcontentType: scriptと、IE で「名前を付けて保存」ポップアップが表示され、応答を保存しようとすることです。脚本。

コード例:

$("#vendor_edit").ajaxForm({dataType: "script"});

応答は JavaScript であり、他のすべてのブラウザで適切に実行されますが、IE はこのファイル「vendors.js」を保存しようとします。IE にこのポップアップを強制的にトリガーさせるにはどうすればよいでしょうか?

4

2 に答える 2

0

使ってみてください:

$().getScript( url, function(data, textStatus){
    if (typeof(data) === "object"){
        eval(data);  //i.e if you're planning to execute your script
    }
});
于 2010-11-19T08:46:28.457 に答える
0

これはトリッキーでした。応答タイプは確かに重要です。エクスプローラーの「アプリケーション/javascript」ではなく、「名前を付けて保存」ダイアログのトリガーを停止するには、「テキスト/プレーン」である必要がありました。

また、スクリプトの「textarea」タグをラップする必要がありました。これは、Explorer が eval(response) をいくつかのクレイジーな理由で機能させるためだけに行われました。他のすべてのブラウザーは texterea ラッパーなしで処理できますが、IE には問題があります (このソリューションが Dojo で使用されているのを見て、それをコピーしました)。

于 2010-11-26T08:15:55.857 に答える