从VBulletin调用外部动态链接>需要在Base Target iFrame中打开的链接

时间:2013-07-03 18:11:16

标签: javascript html iframe

我目前正在使用以下脚本从VBulletin调用5个最新的活动线程:

<script type="text/javascript" src="http://[VBulletin]/external.php?forumids=1&type=js">
</script> 
<script language="" type="text/javascript">
<!--
for (x = 0; x < 5; x++)
{
document.writeln("<a href=\"http://[VBulletin]/showthread.php?t=" +threads[x].threadid+"\">"+threads[x].title+"</a> (Posted By: "+threads[x].poster+")<br />");
}
</script>

我想让填充的论坛链接在父页面的iFrame中打开(上面的代码在所述页面的辅助iFrame中)。在标准HTML中,它将是:<a href="link" base target="pageframe">,但我不确定如何在上面的代码中用JS执行相同的功能。

提前致谢!

1 个答案:

答案 0 :(得分:0)

假设所有这些都位于同一个域中,并且您的目标iframe的ID为<iframe id="openlinkshere"> 您可以在链接上添加处理程序,如下所示:

<script type="text/javascript" src="http://[VBulletin]/external.php?forumids=1&type=js">
</script> 
<script language="" type="text/javascript">
<!--
for (x = 0; x < 5; x++)
{
document.writeln("<a onclick=\"top.document.getElementById('openlinkshere').location.href = this.href; return false;\" href=\"http://[VBulletin]/showthread.php?t=" +threads[x].threadid+"\">"+threads[x].title+"</a> (Posted By: "+threads[x].poster+")<br />");
}
</script>

这会打开目标iframe上的链接

top.document.getElementById('openlinkshere').location.href = this.href; 

这会停止事件传播,因此您的“列表”iframe会保持原样。

return false;