2

我有一个带有 iFrame 的页面和四个指向本机文件的链接,每个链接在被召唤时都正确显示在 iFrame 中。我已经用直接的 HTML 做到了这一点。问题是当我最初登陆页面时,我有一个空的 iFrame,直到我点击任何链接。

在到达时使用第一个链接填充 iFrame 不仅会很好,而且如果有一种方法可以到达此页面并显示任何其他剩余链接(如果事实上这就是内容),那将是一个真正的好处有人来找。例如,如果我将我的四个链接的锚点放在另一个页面上,那么如果有人可以选择第二个项目并在到达 my-iFrame-page.php 时发现它填充 iFrame,那将是理想的。

我不反对使用 jQuery 或任何类型的 javascript,但我担心对于脚本新手来说,理解语法很重要。如果有人可以发布一个实现我所追求的工作示例,我会欣喜若狂。

4

2 回答 2

0

您可以设置src=""iframe 的属性,该属性将设置默认页面。

例如,如果我将我的四个链接的锚点放在另一个页面上,那么如果有人可以选择第二个项目并在到达 my-iFrame-page.php 时发现它填充 iFrame,那将是理想的。

不用说,如果你有一个前面的页面链接到包含 iframe 的页面,你可以将请求中作为参数选择的 url 传递给 iframe 页面,然后用 PHP 将其解析为属性。


为简单起见,假设您有两个页面:sourcepage.php 和 framepage.php。sourcepage.php 包含一个带有四个单选按钮和一个提交到 framepage.php 的提交按钮的表单。单选按钮都是同一组的一部分,并且有四个值——根据您的评论“苹果”、“香蕉”、“樱桃”和“桃子”。Apples 收音机的值为 1,Bananas 为 2,依此类推。每个收音机都有名称“page”。

这意味着当您提交表单时,在 sourcepage.php 上您需要以下代码

<?php
    $pageIndex = $_GET["page"];
    $pageUrl = "";

    switch ($pageIndex)
    {
        case "1":
            $pageUrl = "apples.html";
            break;
        case "2":
            $pageUrl = "bananas.html";
            break;
        // And so on...
    }
?>

<!-- And then later... -->

<iframe src="<?php echo $pageUrl; ?>"></iframe>
于 2012-11-16T19:24:09.370 回答
0

使用 JS 获取 URL 参数,当然也可以在页脚的链接中添加参数。假设你的 iframe 有 id="iframe",这就行了:)

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
    $(document).ready(function() {

        function get_url_param(name) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regexS = "[\\?&]" + name + "=([^&#]*)";
            var regex = new RegExp(regexS);
            var results = regex.exec(window.location.href);
            if (results == null) {
                return "";
            } else {
                return results[1];
            }
        }

        if (get_url_param('show') == '') {
            $('#iframe').attr('src', 'wall-structures.php'); // Setting your default page....
        } else {
            $('#iframe').attr('src', get_url_param('show') + '.php');
        }

    });
</script>
</head>
<body>

    <a href="portfolio.php?show=wall-structures">Wall & Structures</a><br />
    <a href="portfolio.php?show=ovens-barbecues">Ovens & Barbecures</a><br />
    <a href="portfolio.php?show=pillars-arches">Pillars & Arches</a><br />
    <a href="portfolio.php?show=stairs-retaining-walls">Stairs & Retaining Walls</a><br />

    <iframe id="iframe"></iframe>

</body>
</html>

如果不想用JS,也可以用纯PHP来做:

<?php

    if (isset($_GET['show'])) {
        $iframe_src = $_GET['show'] . '.php';
    } else {
        $iframe_src = 'somedefaultpage.php';
    }

?>


<a href="portfolio.php?show=wall-structures">Wall & Structures</a><br />
<a href="portfolio.php?show=ovens-barbecues">Ovens & Barbecures</a><br />
<a href="portfolio.php?show=pillars-arches">Pillars & Arches</a><br />
<a href="portfolio.php?show=stairs-retaining-walls">Stairs & Retaining Walls</a><br />

<iframe src="<?php echo $iframe_src; ?>"></iframe>
于 2012-11-16T19:41:42.397 回答