私は時間がかかるPHPスクリプトがあるページがあります。誰かが私はajaxでPHPスクリプトを呼び出すことをお勧めします。これでスクリプトはこのようにロードされます。ajaxでiframeを読み込む
<div id="content-body" style="margin-top: 0px;"><a name="top"></a>
<h1>
<iframe src="calendar/index.php?cP=2" style="position: absolute; top: 0px; padding: 0px 0px 0px 0px; border: 1px solid #404040;" width="780px" height="691px"></iframe>
</h1>
</div> <!-- End CONTENT-BODY div -->
代わりにajaxを使用してindex.phpページを読み込むためにコードを変更する必要がありますか?
私は、iframe onload関数でjavascript関数呼び出しを行う必要があると思います。したがって、HTMLはこのように見えるかもしれません。
<iframe id="litcal" onload="LoadCalendar();"></iframe>
ajax関数は次のようになります。
<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
function LoadCalendar() {
http.abort();
http.open("GET", "calendar/index.php?cP=2", true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('litcal').src = http.responseText;
}
}
http.send(null);
}
</script>
私は本当にajaxを知らない。だから、表示されたコードがiframeをロードするのが正しいかどうかを知りたい。
ありがとうございました。
私の質問は、ajaxコードのようになります。要素srcの代わりにajaxをロードするために表示されるコードには、どのような変更が必要なのでしょうか。 – user823527
@ user823527: 'calendar/index.php?cP = 2'が返す内容によって異なります。 URLを返した場合、コードは正しいです。 URL以外のデータを返す場合は、iframeのsrc属性にそのデータを配置したくない場合があります。代わりに、divを使用して、innerHTMLまたはinnerTextを使用してデータを設定します。 –
あなたはiframeにdivを置くべきだと言っていますか? divには、ajax関数を呼び出すonloadイベントはありません。 – user823527