これはまさにあなたが探しているものではないかもしれません. そうでない場合はお詫びします.
アイデアは、通常の ajax である div の href を設定することですが、代わりに ajax を使用するためにクリックおよび送信イベントをオーバーライドします。したがって、iframe のように機能しますが、実際には iframe ではありません。
externalContainer という名前の div があり、js は次のとおりです。
$('#externalContainer form').live("submit", function(event) {
$(this).ajaxSubmit({target: '#externalContainer'});
return false;
});
$('#externalContainer a').live('click', function(event){
var jthis = $(this);
if (jthis.attr('href') != "#"){
event.preventDefault();
$('#externalContainer').load(jthis.attr('href'));
}
});
$('#externalContainer').load("file.php");
次に、新しい html をロードするために呼び出すだけです。
これは、通常の iframe のすべての「機能」を備えているわけではありませんが、必要なものには機能する可能性があります。
この手法は、stackoverflow に関する別の質問で私が信じていることを見つけたことに注意してください:)。
編集:これにより、「iframe」内からの ajax も許可されることに注意してください。これが、href が「#」と等しくないことを確認する理由です。また、フォーム送信の使用を計画している場合、これは ajaxForm jquery プラグインに依存します。