更改iframe中的网页/网址

时间:2017-11-26 09:10:02

标签: php jquery html

我有一个带有iframe的php文件......

<html>
<head>
</head>
<iframe src="/test.php?id=1" style="position: absolute; top: 0; right: 0; bottom: 0; left: 0; height:100%; width:100%; border: 0px;"></iframe>

在test.php中,单击一个按钮后,我试图让页面更改为verified.php,但不更改父URL或尝试更改iframe src。

有人有什么想法吗?我试图在test.php中打开另一个iframe,但我看不到它,因为原来的iframe仍在那里。

1 个答案:

答案 0 :(得分:0)

在iFrame中使用window.top

https://www.w3schools.com/jsref/prop_win_top.asp

  

当&#34;检查窗口&#34;单击按钮,调用函数check()并检查当前窗口状态。如果最顶层的窗口(window.top)与当前窗口(window.self)不同,则输出&#34;此窗口不是最顶层的窗口!我在一个框架中吗?&#34;。如果最顶层的窗口等于当前窗口,则触发else语句:

所以重定向&#34;父母&#34; iFrame中的页面:

window.top.location.href = 'http://example.com';

更新

我没有得到这个,但你可以替换它。

  

[没有]尝试更改iframe src

如果您只想替换它,最简单的方法是克隆,更改克隆中的src,然后替换克隆。

我无法在SO上使用iFrame,但我可以使用简单的p标记来显示该概念。

&#13;
&#13;
$(document).ready(function(){
    
    var clone = $('p').clone();   
    clone.html("hello");   
    $('p').replaceWith(clone);

    console.log('contains "hello" instead of test, which proves we\'ve replaced it.');
    console.log('cloning retains the red color style');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p style="color:red;" >Test</p>
&#13;
&#13;
&#13;

而不是你那样做

var clone = $('iframe').clone();   
clone.attr("src", "otherPage.html");   
$('iframe').replaceWith(clone);

如果您不想更改克隆上的src,那么只需对iFrame进行硬编码

$('iframe').replaceWith('<iframe src="otherPage" {styles} ></iframe>);

克隆有点好,因为你不会丢失任何应用于iframe的样式或属性。

但是老实说,如果你没有更多关于你目前正在做什么以及你想做什么,除非他们是读者,否则没有人可以回答这个问题。