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页面重载?的主要内容,如果未能解决你的问题,请参考以下文章

刷新页面后如何显示模态弹出窗口?

电脑刷新有啥快捷键?

检测 F5 被按下并刷新

ajax加载的内容页面刷新之后,内容怎么保持不变?

使用onbeforeunload事件检测窗口是否刷新或关闭 .

从子窗口刷新 WPF 页面