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

使用浏览器后退按钮时如何强制重新加载页面?

单击 Safari 上的后退按钮时使用 React 挂钩强制页面重新加载

每次重新加载页面时,如何强制资产渲染资产?

如果 url 中的所有更改都是哈希,如何强制页面重新加载?

链接到锚点并强制重新加载当前页面

在 framework7 包装器中加载外部页面