PHP刷新窗口?相当于F5页面重载?
Posted
技术标签:
【中文标题】PHP刷新窗口?相当于F5页面重载?【英文标题】:PHP refresh window? equivalent to F5 page reload? 【发布时间】:2012-01-11 18:33:18 【问题描述】:在 php 中有什么东西相当于手动按下 F5 页面重新加载按钮吗?我的 php 脚本在一个框架中,不是父脚本,但它需要刷新整个页面,而不仅仅是它的框架。
【问题讨论】:
【参考方案1】:如果您在
之前有任何文字header('Location: http://www.example.com/youformhere.php');
您会遇到问题,因为必须在将任何其他文本发送到页面之前发送。
尝试使用此代码
<?php
$page = $_SERVER['PHP_SELF'];
echo '<meta http-equiv="Refresh" content="0;' . $page . '">';
?>
请记住,此代码将创建无限循环,因此您可能需要对其进行一些有条件的更改。
【讨论】:
【参考方案2】:在页眉中添加以下内容对我有用:
<?php
if($i_wanna_reload_the_full_page_on_top == "yes")
$reloadneeded = "1";
else
$reloadneeded = "0";
if($reloadneeded > 0)
?>
<script type="text/javascript">
top.window.location='indexframes.php';
</script>
<?php
else
?>
【讨论】:
【参考方案3】:手动刷新页面所需要做的就是提供指向同一页面的链接
像这样: 刷新选择
【讨论】:
【参考方案4】:使用 php,您可以使用两个重定向。 它在某些问题中与刷新相同。
您可以使用页面redirect.php 并通过GET 方法(例如)将您的最后一个网址发布到它。 然后在redirect.php中,您可以将标头更改为您通过GET方法发送给它的位置。
像这样: 你的页面:
<?php
header("location:redirec.php?ref=".$your_url);
?>
redirect.php:
<?php
$ref_url=$_GET["ref"];
header("location:redirec.php?ref=".$ref_url);
?>
这对我很有用。
【讨论】:
【参考方案5】:<?php
echo "<script>window.opener.location.reload();</script>";
echo "<script>window.close();</script>";
?>
【讨论】:
【参考方案6】:其实是可以的:
Header('Location: '.$_SERVER['PHP_SELF']);
Exit(); //optional
它会重新加载相同的页面。
【讨论】:
这个应该被标记为已批准,因为它完全符合 php 的预期(没有 javascript 或插入 html)。 @Ryuji 这不能解决原来的问题。这将如何导致父文档重新加载? @MikeBrant 因为这正是它的作用。它命令 php 重新加载同一页面。 @NewProger 你知道这会导致无限重定向吗?您还意识到最初的问题是关于从子窗口重新加载父窗口,这绝对无法解决。仅仅因为 OP 要求提供 PHP 解决方案,并不意味着有一个。【参考方案7】:猜你可以回显元标记以定期刷新......就像
<meta http-equiv="refresh" content="600" url="your-url-here">
【讨论】:
【参考方案8】:为此使用 JavaScript。你可以这样做:
echo '
<script type="text/javascript">
parent.window.location.reload(true);
</script>
';
在 PHP 中,它会刷新父框架页面。
【讨论】:
【参考方案9】:使用 PHP,您只需处理服务器端的东西。你可以做的是在你的 iframe 中打印这个:
parent.window.location.reload();
【讨论】:
完美!!正是我需要的!谢谢! 。 . .另一个问题。我做了: echo "";它重新加载了我需要的整个页面,但是执行 php 脚本所在的框架没有更新。而且我似乎无法调用另一个 parent.window.location.reload 甚至是 onload=\"window.location='$page'\" 我该怎么办? 不确定我明白了,但你检查过你的帧源吗?检查 parent.window 是否正确加载... 我检查了框架源,它是正确的。但是框架没有在 parent.window.location.reload() 上正确加载。不知道为什么。如何检查 parent.window 是否正确加载?parent.window.location.reload()
将重新加载当前页面,无论它是什么。你必须检查你的 parent.window.location.href
源代码 =)【参考方案10】:
PHP 不能强制客户端做任何事情。它无法刷新页面,更不用说刷新框架的父级了。
编辑:你当然可以让 PHP 编写 JavaScript,但这不是 PHP 做的,它实际上是 JavaScript,如果禁用 JavaScript,它将失败。
<?php
echo '<script>parent.window.location.reload(true);</script>';
?>
【讨论】:
以上是关于PHP刷新窗口?相当于F5页面重载?的主要内容,如果未能解决你的问题,请参考以下文章