使用 Framework7 强制重新加载页面
Posted
技术标签:
【中文标题】使用 Framework7 强制重新加载页面【英文标题】:Forcing reload of page using Framework7 【发布时间】:2015-12-19 09:15:58 【问题描述】:我正在构建一个基于 framework7 示例 split-view-panel 的小型 webapp,它在左侧有一个导航栏,如果您单击它,则会将 url 加载到右侧窗格。
这是一个 php 网址。但是,似乎每次单击左侧时,如果该页面先前已加载,则它只是从缓存中重新加载。但是我需要它再次调用 php 页面,因为我需要在 php 页面上记录单击和加载的时间数据。
有没有办法强制 Framework7 重新加载它之前通过 ajax 加载的页面?
【问题讨论】:
【参考方案1】:您可以让 Framework7 忽略某些 URL,甚至一起禁用缓存。有关详细信息,请参阅下面的链接(部分:缓存):
http://www.idangero.us/framework7/docs/init-app.html#.VnfJtPlVhHw
【讨论】:
没错,我使用 cache: false 禁用所有缓存,每次进入页面时都会刷新。【参考方案2】:你必须使用 pushState! 所以在你定义 framework7 的地方你必须包含这个
var myApp = Framework7(
// Other Parameters if already there
pushState: true
);
这样做是启用一个名为 History API 的 HTML5 功能,我认为它是 HTML4 中不存在的最后一个版本,无论如何人们曾经使用称为根哈希的东西(只是为了让你知道这个背景故事不在顶部在我的脑海中,但它的代码将使它工作)这基本上就是历史 API 中的 PushState 而已。正如您所知,Framework7 中的 PushState 将使您的 URL 看起来像这样 http://example.com/#!/profile.php?parameters4get=joe
,但它不会影响 Framework7 处理您的页面的方式,它只是使 PHP 每次都重新加载。
【讨论】:
【参考方案3】:对于 Framework7 v4 使用
var myApp = Framework7(
view :
pushState: true
);
【讨论】:
以上是关于使用 Framework7 强制重新加载页面的主要内容,如果未能解决你的问题,请参考以下文章