如何将网址从一个iframe传递到另一个iframe?

时间:2014-03-14 20:37:10

标签: javascript jquery ajax iframe query-string

我创建了一个演示页面,我在父窗口上有一个文本框,我输入了URL,点击了一个按钮,在iframe上加载了URL ..它可以工作!

以下是相同的代码:

HTML

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<iframe id="display" src="http://jqueryui.com"></iframe>
<br>
<input type="text" id="url" value="http://jquery.com">
<button type="button" id="load">Load</button>

JS:

$(document).ready(function () {
    $('#load').click(function () {
        $('#display').attr('src', $('#url').val());
    });
});

以下是第一选项的小提琴(正在运作):http://jsfiddle.net/Hs87s/

现在出现问题,我想从一个 iframe 发送网址更改请求,并在第二个iframe中加载网址。

我所做的一切,添加了一个新的Frame并在不同的html中添加了按钮和文本框,并在第二个iFrame中调用该html页面。但这不起作用。

下面是第二个选项的代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script>
    </script>
    <style>
        iframe {
            width: 100%;
            height: 200px;
        }
    </style>
</head>

<body>
    <iframe id="display" src="http://jqueryui.com"></iframe>
    <br>
    <iframe id="inputURL" src="button.html"></iframe>
</body>
</html>

button.html的代码

<head>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script>

        $(document).ready(function () {

                $('#load').click(function () {
                    //alert("hi");
                    parent.$('#display').attr('src', $('#url').val());
                });
            });

        </script>
    </head>

    <body>
        <input type="text" id="url" value="http://jquery.com">
        <button type="button" id="load">Load</button>
    </body>

有人可以建议我如何使第二个选项有效吗?

如果您需要任何其他信息,请与我们联系。

请建议。

1 个答案:

答案 0 :(得分:0)

&#34;按钮&#34; frame可以通过预先添加&#34; parent来访问任何父JS函数。&#34;在它面前,只要它们在同一个域中。

因此按钮框架将使用:

parent.functionname();

....然后父母将包含该功能。

编辑:

您的点击处理程序需要与您的按钮位于同一页面,您需要引用父级中的框架:

$(document).ready(function() {
    $('#load').click(function() {
        //alert("hi");
        parent.$('#display').attr('src', $('#url').val());
    });
});