2013-04-08 32 views

回答

0

用户访问turbolink启用页面后,即使禁用了turbolinks,当用户按下后退按钮,浏览器缓存页面也会显示,您无法禁用turbolinks效果。

后期部分没有退避,而是格式化部分缓解设置data-no-turbolink到导致总是需要这样

<div> 
    <a href="retrieve_always.html" data-no-turbolink>Special Page</a> 
    <a href="normal_page.html">NormalPage</a> 
</div> 

,也被检索页面的链接通过武力使正常的链路上逃跑,你可以设置data-no-turbolink更具全球

<div data-no-turbolink> 
    <a href="retrive_page1.html">Retrive page 1</a> 
    <a href="retrive_page2.html">Retrive page 2</a> 
</div> 

在这种情况下,所有的检索需要的页面被浏览器缓存不受turbolinks和因为,早按下按钮处理委托给浏览器。

+1

我不希望禁用turbolinks效果,我只是想将一个页面标记为“永远不应该被缓存”,这样turbolinks每次都能从服务器获取它,就好像这是您第一次访问该链接 – 2013-04-10 14:51:38

+0

您不能禁用以缓存页面turbolinks。 Turbolinks总是缓存用户访问的页面。如果您每次都渴望从服务器获取数据,则应该在这个特殊页面中放置''。 – yasuoza 2013-04-11 01:12:31

4

您可以通过以下方式使turbolink始终从服务器中为所有页面获取页面(至少在我的情况下是期望的行为,因此点击后退按钮页面也会更新):

// js 
Turbolinks.pagesCached(0); 

或者,根据doc禁用它的一个网站,只是一个data-no-transition-cache属性添加到任何元素,因此,例如在网站上您不想被缓存它添加到身体:

<body data-no-transition-cache>...</body> 
0

简答题是否定的,你不能禁用按下后退按钮时显示页面的缓存副本。这种行为将与浏览器的默认行为不同,Turbolinks尽可能地尝试模仿。

如果你去任何网站,点击几个链接,然后按后退按钮,你会注意到浏览器显示一个缓存副本。据我所知,不能在浏览器级别禁用。

相关问题