多个网页中的 iframe 和链接

iframes and links in multiple webpages

我有一个网页 A.html。还有 3 个其他网页 a1.html a2.html a3.html。 a1、a2 和 a3 应始终在 A.html.

内的 iframe 中打开

现在有另一个网页 B.html,其中包含指向 A、a1、a2 和 a3 的链接。 Link 对于 A 不是问题,但是我如何在 B 中放置 a1 a2 和 a3 的链接,以便它们在 A 内的 iframe 中打开?

我想你想要一个类似这样的结构:

B-----------------------
  A---------------------
     a1-----------------
     a2-----------------
     a3-----------------

意味着 B 有 links 到 AA 有 links 到 a1, a2a3.

如果是这种情况,那么只需 link a1a2a3A.html。比link后A.htmlB.html中的iframe.

代码可能是这样的:

B.html

<iframe src="A.html"></iframe>

A.html

<iframe src="a1.html"></iframe>
<iframe src="a2.html"></iframe>
<iframe src="a3.html"></iframe>

然后您可以分别拥有 a1a2a3 html 文件,其中包含一些内容。

您不必在 [=27] 中为 a1a2a3 输入 link =] 因为你已经加载了文件 A.html,其中已经有 links 到这些文件。


这是使用适当的宽度和高度将获得的结构:

如果这不是您的情况,请在您的问题中多解释一下。


如果我没理解错的话,你希望 B.html 上的 link 打开 a1a2a3A.html。因此,例如,我单击了 a1,它将在 A.html.

中打开 a1

这不能仅通过简单的 html 来完成,因为您的 link 位于单独的页面上。因此,您需要以某种方式告诉其他页面(在您的情况下为 A.html)打开 defaulta1... 等等。

您可以使用普通 javascript 来完成此操作。在 link 中的 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 上读取这些哈希值。你可以在 body 触发 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 条件下请求了哪个页面,您正在将框架的源设置为该特定页面。

希望这是你想要实现的。