我想使用此函数在 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">
最佳答案
您的链接不起作用,因为您缺少 div 参数。注意你的功能:
function loadmypage(DIV, pageURL)
{
...
第一个参数是 DIV,您仅传递 pageURL。
<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>
关于javascript - 使 div 表现得像 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523940/