私はかなり前に隠されたiFrameを使用して自分のサイトにajaxファイルのアップロードを追加しました。私は自分のサイトでjQueryを使用しています。私は修正できませんでしたが、問題が1つあります:iFrameで新しいAjaxリクエストを作成するたびに、リクエストされたページがブラウザの履歴に追加されます。私はこの話題に関してかなりの質問がされていることを知っていますが、十分な答えを見つけることができませんでした。隠されたiFrame:履歴に表示されない[jQuery]
私のjQueryコード:私は#post_form
に私のフォームのターゲット属性を設定している私のHTMLコードで
$(document).bind('ready', function() {
// Add the iFrame to the DOM (iFrame is needed because of file uploads).
$('body').append('<iframe id="post_form" name="post_form" style="display: none;" src="javascript:false"></iframe>');
// Show forms on click.
$('a.own, a.sale, a.spotted').bind('click', function(event) {
// Animate and clear the boxes.
$('.box').slideFadeOut(300);
$('form.' + $(this).attr('class') + ':hidden').delay(300).slideFadeIn(300)[0].reset();
return false;
});
// Get the form response (from iFrame because of file uploads).
$('iframe#post_form').bind('load', function() {
var response = $(this).contents().find('body').html()
if (response.length) {
$('div#message').html(response).animate({
opacity: 'show',
height: 'show',
borderWidth: '1px'
}, 300);
} else {
$('.box').slideFadeOut(300);
}
});
});
。私はまた、すべての要求に対して新しいiFrameを作成しようとしたり、手動でframe.locationを設定しようとしましたが、ファイルのアップロードと組み合わせて動作させることができませんでした。誰も助けることができますか?
ありがとうございます!
歴史の中にこれらのページを置くことに問題はありますか? –
ブラウザの戻るボタンが壊れてしまい、自分が知らない履歴のページが表示されるのは奇妙です。 – Frog
私が見ている限りでは、あなたは**アヤックスを使用しないでください**あなたは通常の方法でフォームを提出するので、歴史はますます高まるでしょう。フラッシュアップローダを使用すると、履歴に影響を与えるべきではありません。 –