この関数を使用して、div 要素内にページのコンテンツをロードしたい:
function loadmypage(DIV, pageURL)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(DIV).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", pageURL ,true);
xmlhttp.send();
}
ただし、「フレーム」自体の内部のリンクをクリックすると、機能が機能しません。ターゲット要素がロードされたページ自体とは異なるページにある理由を推測します。
私の質問は次のとおりです。フレーム自体の中にページ全体をロードする際に、div要素をiframeのように動作させる方法はありますか?
PS: セキュリティ上の理由から iFrame を使用することも、効率上の理由から jQuery を使用することも許可されていません。メインページのリンクはターゲットを正常にロードしますが、これらのページ内のリンクをクリックすると問題が発生します。
<div id="nav" class="mmenu">
<ul type="none">
<li><a href= "javascript:loadmypage('viewMessages.php')">Messages</a></li>
<li><a href= "javascript:loadmypage('userHomepage.php')">My Conferences</a></li>
<li><a href= "javascript:loadmypage('availableConferences.php')">Conferences</a></li>
<li><a href= "javascript:loadmypage('incomingRequests.php')">Requests</a></li>
<li><a href= #>News</a></li>
<li><a href= #>Options</a></li>
</ul>
</div>
</fieldset>
<div id="collabsoft" class="collabsoft">