我不确定我是否正确标记了我的标题,但我被告知下面的代码无效,因为浏览器窗口在提交更新内容的表单(它位于影子框内)时从不重新加载。 / p>
<?php
if(isset($_SESSION['contentupdated'])) {
unset($_SESSION['contentupdated']);
echo 'window.location.reload();';
}
?>
如何根据上述“轮询”网站的代码编写PHP代码,以查看变量$_SESSION['contentupdated']
是否已设置?下面,我将粘贴我试图使用的完整影子箱代码。更新的代码将替换JavaScript代码中的PHP代码。这样关闭影子框后,网站将轮询网站以查看是否有更新的代码(这至少是我的目标)。
我被告知我必须对网站进行投票以检查更新,但我搜索了Google并且无法找到解决方案,因为所有结果都显示为“如何创建网站投票”。
<script>
Shadowbox.init({
onOpen: onShOpen,
onClose: onShClose,
});
function onShOpen() {
document.body.style.overflow = "hidden";
return true;
}
function onShClose() {
document.body.style.overflow = "auto";
<?php
if(isset($_SESSION['contentupdated'])) {
unset($_SESSION['contentupdated']);
echo 'window.location.reload();';
}
?>
return true;
}
</script>
有什么建议吗?
答案 0 :(得分:-1)
为什么使用javascript重新加载页面。你可以使用标题位置在php中完成它:
<?php if(isset($_SESSION['contentupdated'])) { unset($_SESSION['contentupdated']); header('Location:yourpage.php');die(); } ?>
答案 1 :(得分:-1)
只列出想到的事情,不是一个好的答案......
使用PHP进行长轮询:How do I implement basic "Long Polling"?
PHP和Comet:Using comet with PHP?
HTML5网络套接字:http://www.html5rocks.com/en/tutorials/websockets/basics/
使用其他技术的非PHP解决方案,例如NodeJS。
更新:我添加的原因是OP似乎缺乏有效搜索和回答问题的词汇。