维持计算机内存,屏幕等内容所需的定期激励。它还可以参考显示器的更新以显示最新版本的数据。
当我们尝试刷新 Oracle 中的物化视图,而该视图的基表不存在或在一段时间后被意外删除时,会发生什么情况。 我们可以使用任何方法来刷新它吗 - 快速、强制或
我有一个页面action.php,我在其中通过代码运行SQL查询,这样每当查看页面时,查询就会像计算页面浏览量一样运行 我有一个页面action.php,我在其中通过代码运行 SQL 查询,因此每当查看该页面时,查询都会像计算页面浏览量一样运行 <?php mysqli_query("UPDATE ****"); ?> 问题是刷新页面时,会运行查询并且页面刷新被计为我想避免的页面视图。 问题: 如何避免? 我正在寻找一个简单的解决方案,以便我可以检查 if( page was refresh ) //some condition { do } 我在here找到了这个片段,它对我来说非常有效: $pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0'; if($pageWasRefreshed ) { //do something because page was refreshed; } else { //do nothing; } 检测页面刷新的最佳方法。或不是?(Ctrl+F5,F5,Ctrl+R,Enter) $pageRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) &&($_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0' || $_SERVER['HTTP_CACHE_CONTROL'] == 'no-cache'); if($pageRefreshed == 1){ echo "Yes page Refreshed"; }else{ //enter code here echo "No"; } 你无法直接检测页面刷新,但你可以使用cookie来模拟你想要的: if (isset($_COOKIE['action'])) { // action already done } else { setcookie('action'); // run query } 根据您的要求,您还需要决定何时删除 cookie 和/或再次执行操作。 如果您只想为用户运行一次,我会设置一个会话 cookie,然后使用 if() 语句。 <?php session_start(); if (!$_SESSION['loaded']) { // insert query here } $_SESSION['loaded'] = true; ?> 我已经解决了这个问题... HURRAHHH,没有会话,也没有cookies 解决方案是 PHP : AJAX : JavaScript 的组合 您想要在页面加载上运行而不是在页面刷新上运行的查询通过 AJAX 调用运行它,假设我执行此操作的函数是 function runQUERY() { xmlhttp=new XMLHttpRequest(); xmlhttp.open("POST","doIT.php",false); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send(); } 我可以通过执行以下操作简单地使用 Javascript 检查该页面是新加载的还是刷新的 <head> <script type="text/javascript"> function checkRefresh() { if( document.refreshForm.visited.value == "" ) { // This is a fresh page load alert ( 'Fresh Load' ); document.refreshForm.visited.value = "1"; ..call you AJAX function here } else { // This is a page refresh alert ( 'Page has been Refreshed, The AJAX call was not made'); } } </script> </head> <body onLoad="checkRefresh()"> <form name="refreshForm"> <input type="hidden" name="visited" value="" /> </form> </body> </html> 并在您的 doIT.php 中简单添加您要放入普通页面的 PHP 代码 <?php mysql_query("UPDATE---------"); //put any code here, i won't run on any page refresh ?> //here you get the url behind the domain. $currentPage = $_SERVER['REQUEST_URI']; //if the session current page is not set. if(!isset($_SESSION['currentPage'])){ //set the session to the current page. $_SESSION['currentPage'] = $currentPage; } //check if the session is not equal to the current page if($_SESSION['currentPage'] != $currentPage){ // if it's not equal you set the session again to the current page. $_SESSION['currentPage'] = $currentPage; //set the query you want to use } 这可以在您的场景中工作: if(isset($_GET["token"])) { $view_token = $_GET["token"]; } else { $new_views = $views + 1; // UPDATE VIEWS $view_token = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 5)), 0, 5); header("Location: ?token=$view_token"); } 如果用户的 URL 中有令牌,则观看次数不会更新。因此,如果用户尝试刷新,则不会更新视图计数。当用户的 URL 中没有令牌时,视图计数会使用令牌更新并刷新页面。它跳出框框思考,但它有效! 您可以保存与当前页面关联的 cookie,如果单击任何链接,请使用新页面名称更新 cookie。 假设上述操作是在 Javascript 中完成的,您可以将此 updateCookie 信息发送到服务器以通知新页面点击。 或者另一种方法是,您可以指定一个 HTTP HEADER 来指定页面上的 缓存过期 的时间,这样,浏览器甚至不会向您发送有关 页面加载/刷新 的请求。 有关缓存的信息,请参阅 http://www.mnot.net/cache_docs/#IMP-SCRIPT 此外,请查看 HTTP 中的 Etag 与 Expires - ETag 与 Header Expires 我自己的解决方案是这样的: 添加表单字段,例如:“刷新”,除非是页面刷新,否则该值将始终增加。因为Page-Refresh只提交旧值。然后与 PHP 的 SESSION 变量中保存的相同值进行比较。如果是新页面,只需启动两个不同的值即可。 在 PHP 中: if (isset($_POST['refresh']) && isset($_SESSION['refreshdetect'])) $pageWasRefreshed = ($_SESSION['refreshdetect'] == $_POST['refresh']); $newstatus = $status; if(!$pageWasRefreshed ) { //.....change status } if (isset($_POST['refresh'])) { $_SESSION['refreshdetect'] = $_POST['refresh']; $row['refreshdetect'] = ((int)$_POST['refresh'])+1; } else //if new page { $_SESSION['refreshdetect'] = 0; $row['refreshdetect'] = 1; } 在 PHP->HTML 中(如果使用 Twig。更改为 PHP 代码以显示变量的值): <input type="hidden" id="refresh" name="refresh" value="{{ row.refreshdetect }}" /> if( $_SERVER['HTTP_CACHE_CONTROL'] == 'max-age=0') { $_SESSION['status'] = null;<br> }
SwiftUI + 可刷新:当拉动刷新时,大型导航标题会跳转
我有拉刷新和导航栏的问题。 问题是刷新完成后导航标题会跳回顶部(用户实际上没有释放拉动来刷新)。 ...
我想在任何用户更新后刷新当前页面 我正在尝试在用户模型中做类似的事情: 公共静态函数 boot() { self::updated(函数 ($model) { ...
执行器刷新为 springboot 2.2.7 提供 404 错误
我正在尝试使用 springboot 2.2.7 来使用执行器刷新端点。但我面临 404 错误。 我的端点是 POST 调用 http://localhost:8080/执行器/刷新 回复: { “时间戳”...
在lookerstudio中刷新数据源时,为什么我看到相同的字段显示为缺失,并添加了?如果我接受这一点,报告就会被破坏
我正在尝试刷新lookerstudio中的数据源(使用谷歌表格作为数据源),它们将所有数据源显示为缺失字段和添加字段。如果我接受这一点,报告就会被破坏 输入
刷新 Power BI Gateway 时出错 - 混搭错误
我遇到了当前正在使用的多个 BI 报告的定期刷新问题。这些使用网关从任一/或分析服务或通过直接 SQL q 提取数据...
如何在 JavaScript 中长时间循环刷新/重绘(在屏幕上)元素的文本?
有代码 函数 longTimeFunction() { 对于 (i = 0; i < 100000000; i++) { //.do somethig } } function foo() { document.getElementById('mydiv').innerText = 'Start'; console.log(
我想阻止用户刷新页面,该怎么做?我一直在使用 e.preventDefault 方法,但它运行不正常。
NodeJS AWS DynamoDB V3 如何刷新假定的角色权限
我们设法承担了一个角色,但它不会自动刷新访问权限,因此一段时间后我们会遇到超时错误。 我们发现没有关于如何刷新凭据的正确文档,所以我想知道......
我有一个问题,当我单击刷新过期的 Oauth 不记名令牌时,它在邮递员后台传递的标头是什么?我需要将其复制到 Python 请求函数 这个功能...
现在如何检查页面是否重新加载? 以前是这样的: //检查导航计时 API 支持 if (窗口.性能) { console.info("window.performance 在这方面工作得很好
使用append()后重复问题 - 如何通过js或jquery重建innerHTML?
有人可以帮我解决我的代码的以下问题吗? 有人可以帮我解决我的代码的以下问题吗? <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" CONTENT="pl" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <style> #main { display: block; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color: royalblue; color: aquamarine; z-index: 1; } #title { display: block; position: absolute; top: 10%; left: 10%; width: 80%; height: 80%; background-color: darkgreen; color: lime; z-index: 2; } #content { display: block; position: absolute; top: 10%; left: 10%; width: 80%; height: 80%; background-color: yellowgreen; color: yellow; overflow: scroll; z-index: 3; } </style></head> <body> <div id="main"> <div id="title"> <div id="content"></div> </div> </div> <script> function init() { var maindata = "Background"; var titledata = "Some title"; var contentdata = "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"+ "<b>Long text to scrolling</b><br><br><b>Long text to scrolling</b><br><br>"; init_layout(); update_layout(); function update_layout() { // HOW TO UPDATE DATA??? - MEANING: FIRST DELETE, THEN FILL WITH NEW DATA AND SAVE HTML TREE STRUCTURE? // WHAT SEQUENCE IS CORRECT? // //jQuery('#main').empty().append(jQuery('#main').append(maindata)); //jQuery('#title').empty().append(jQuery('#title').append(titledata)); //jQuery('#content').empty().append(jQuery('#content').append(contentdata)); //jQuery('#title').empty().append(jQuery('#title').append(titledata)); //jQuery('#main').empty().append(jQuery('#main').append(maindata)); // IF I TRY REFRESH DATA LIKE THIS BELOW, innerHTML will refresh, BUT also will contain duplicate in any element // where append() was used - so, i try correct it jQuery('#content').html(contentdata); jQuery('#title').append(titledata); jQuery('#main').append(maindata); } function init_layout() { jQuery('#content').html(contentdata); jQuery('#title').append(titledata); jQuery('#main').append(maindata); } } jQuery(document).ready(init); </script> </body> </html> 我尝试刷新网站并使用以下元素(#main、#title、#content)来显示实际结果(每次网站更改/重新加载时都会出现新数据)。 html 嵌套 div 元素共有三个: #main(带有“背景”消息), #title(“某些标题”消息), #content(长文本,模拟未来可以滚动的内容)。他们每个人都应该只有单个数据,而不是重复的...... 我尝试了以下 jQuery 方法: html - 为消息创建innerHTML结构并添加第一个 附加 - 添加任何其他消息(实际上还有两条), 空 - 用于在用新的实际消息填充 div 之前删除非实际消息 代码的 css 部分负责网站的视觉方面(如颜色、边距、滚动等)。 Jquery 和 javascript 负责屏幕方向并在合理的时间内刷新网站。 主要问题是:网站发生任何更改后,包含 #main 和 #title 的 div 会重复(不应该,但如何准备 data/innerHTML?)。 我仍然找不到如何使用innerHTML正确重新初始化变量而不弄乱html树的解决方案...请帮助我。 好吧,来自这个“令人惊叹的”门户的“专业人士”......;)X) 问题解决了:)顺便说一句 - 很多“感谢”我可以在这里指望帮助(两天后没有结果,并且没有机会使用像“empty()”这样的秘密词 - 这是 jquery 函数,我需要标记这篇文章以获得更好的可见性- 原文如此!)。当然,也许有一天会更容易在这里获得一些“经验点”X)X)X)哈哈。 对于网络开发的真正初学者来说很抱歉,但也许您在其他门户网站上找到了更多帮助(w3sshols 等) 愿虚假与jquery和javascript的“专业人士”同在! XD
为什么当我在 Next.js 中刷新页面时我的 CSS 样式消失了?
我在应用程序文件夹中创建了一个 CSS 文件夹,并在其中写入了 CSS 文件。然后将它们导入到组件中使用。它们在第一次加载时应用。但是当我刷新页面时,它们都消失了。 我
我想在我的单页面应用程序(Angular 项目)中使用路由器来检测页面何时刷新。 还有其他方法吗?
我有一个命令按钮,它将调用一个函数来下载文件(标准的东西,如InputStream、BufferedOutputStream ...)下载成功后,在函数的末尾,我更改了一些...
我正在使用 vite.config.js 中的“base: '/my-app/'”在子域的生产环境中提供我的 vue.js 应用程序(这里没有问题) 有问题的 URL 示例:my-domain/my-app/my-component 虽然根据...
前端对数据进行任何更改后,如何强制 DataGridView 重绘或刷新?
我有一个 DataGridView,它与 DataTable 进行数据绑定。 DataTable 最初由 MySQL 数据库填充,但连接不是实时的。这个数据表(tblorderspecs)有几列...
在我的程序中,我切换隐藏文件的注册表值以告诉资源管理器是否隐藏或显示它们。但是,由于资源管理器不会自行刷新,因此我发送了事件 SHChangeNotify(0x80...
最近,我一直在尝试用Python创建一个假的3D引擎。我说假是因为它并不是真正创建“Z”轴,而是刷新并重新创建用户应该做的事情......