我有一个网页A.html。还有3个其他网页a1.html a2.html a3.html。 a1,a2和a3应始终在A.html内的iframe中打开。
现在还有另一个网页B.html,其中包含指向A,a1,a2和a3的链接。 A的链接不是问题,但是如何在A中为a1 a2和a3添加链接,以便它们在A中的iframe中打开?
答案 0 :(得分:2)
我想你想要一个类似的结构:
B-----------------------
A---------------------
a1-----------------
a2-----------------
a3-----------------
表示B
包含指向A
和A
的链接,指向a1
,a2
和a3
的链接。
如果是这种情况,则只需将a1
,a2
和a3
与A.html
相关联即可。然后将A.html
链接到iframe
中的B.html
。
代码可能类似于:
<强> B.html 强>
<iframe src="A.html"></iframe>
<强> A.html 强>
<iframe src="a1.html"></iframe>
<iframe src="a2.html"></iframe>
<iframe src="a3.html"></iframe>
然后你可以单独拥有a1
,a2
和a3
个html文件。
您无需在a1
中添加a2
,a3
和B.html
的链接,因为您已加载文件{{1已经有这些文件的链接。
这是通过使用适当的宽度和高度获得的结构:
如果这不是您的情况,请在您的问题中再解释一下。
如果我理解正确,您希望A.html
上的链接打开B.html
,a1
和a2
在a3
。例如,我点击了A.html
,a1
会在a1
内打开A.html
。
这不能仅通过普通的html来完成,因为您的链接位于单独的页面上。所以,不管怎样,你需要告诉另一个页面(在你的情况下A.html
)打开default
,a1
......等等。
您可以使用普通javascript
执行此操作。在您的链接的B.html
中,您需要向A.html
发送有关iframe
中要打开的文件的信息:
<a href="A.html">A</a>
<a href="A.html#a1">a1</a>
<a href="A.html#a2">a2</a>
<a href="A.html#a3">a3</a>
#a1
,#a2
...会告诉您的A.html
页面在其iframe中打开请求的页面。
现在您需要在A.html
上阅读这些哈希值。当身体触发onload
事件时,您可以执行此操作。
<body onload="changeSrc()">
<!-- Load the default page in the iframe, for instance a1.html -->
<iframe id="abc" src="a1.html"></iframe>
<script>
function changeSrc() {
var hash = window.location.hash;
var frame = document.getElementById("abc");
if(hash == "#a1") {
frame.src = "a1.html";
}
else if(hash == "#a2") {
frame.src = "a2.html";
}
else if(hash == "#a3") {
frame.src = "a3.html";
}
else {
// default
frame.src = "a1.html";
}
}
</script>
</body>
这将完成任务。
因此,通过使用window.location.hash
,您实际上获得了url
中传递的值,比如#a1
,#a2
,...并通过检查在if/else
条件中请求了页面,您正在将帧的来源设置为该特定页面。
希望这是你想要达到的目标。