我创建了一个演示页面,我在父窗口上有一个文本框,我输入了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>
有人可以建议我如何使第二个选项有效吗?
如果您需要任何其他信息,请与我们联系。
请建议。
答案 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());
});
});