Django应用程序,用于自动识别和重新加载过时的网页

local-reload的Python项目详细描述


本地加载

提供一种识别和自动重新加载“过时”页面的方法。在

在localStorage中保留“上次更新时间”,并在用户“更新数据”时更新它。任何时候用户“返回”到某个页面(通过浏览器历史记录或切换选项卡/窗口),如果该页面已过时(如果在上次更新时间之前呈现),该页面将自动重新加载。在

适用于积垢严重的场所,尤其是当您使用历史.后退()或使用多个选项卡/窗口作为正常工作流的一部分。在

局限性

每次浏览器更新<3>

如果在一个浏览器中更新数据,则不会在另一个浏览器中重新加载页面。这是为单个用户在单个浏览器中更新和查看数据而设计的。我们使用window.localStorage来存储更新时间,因此我们的作用域与localStorage的作用域相同(因此命名为“local匼reload”)。在

更新时间是站点范围内的

维护一个单一的、站点范围的“更新时间”。对一段数据的更改将使所有先前呈现的页面失效,即使它们不显示该数据。在

更新检测

当任何表单被发布时,我们会自动重置更新时间。更准确地说,只要表单的方法不是GET,我们就重置每个表单提交事件的更新时间。在

如果您使用实际的表单提交(即使是通过javascript处理)作为触发数据更新的事件,那么这种方法非常有效。如果在用户未提交表单的情况下更新数据,则必须手动调用window.local_reload_invalidate()。在

无后台重新加载

页面不会在后台选项卡/窗口中重新加载。只有当用户将焦点返回给它们时,才会重新加载它们。这实际上是设计的。以前尝试重新加载后台窗口/选项卡在许多情况下都会导致不良行为。在

安装

  • pip install local_reload
  • 将“local\u reload”添加到INSTALLED_APPS
  • {% include "local_reload/local_reload_support.html" %}在显示或更新数据的任何页面的head*

*这应该添加到您的head的顶部附近,这样它可以尽早运行。在

window.disable_local_reload

如果要在给定窗口上临时/有条件地禁用本地重新加载,请将此设置为true。在

导航技巧

我们包括一份导航技巧.js在我们的静态文件中。此脚本与本地加载完美匹配。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置