[英]Why this javascript is not working in rails?
當我從瀏覽器單擊“ back button
,它顯示數據庫中的過時值。 我嘗試使用以下代碼,但無法正常工作
<script type="text/javascript">
$(document).ready(function() {
alert("I am an alert box!");
});
</script>
用戶單擊瀏覽器的后退按鈕時如何刷新頁面或獲取更新值?
Asp.Net Webforms:
在頁面加載中(或),如果要所有頁面,則置於母版頁面加載中
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Asp.Net MVC:
在操作或控制器中添加此屬性
[OutputCacheAttribute(VaryByParam = "*", Duration = 0, NoStore = true)]
要么
如果要禁用所有視圖的緩存,請在“過濾器配置”中添加以下內容
filters.Add(new OutputCacheAttribute{VaryByParam = "*",Duration = 0,NoStore = true});
編輯:我注意到,在評論中您提到您在軌道上使用紅寶石。 我對此並不熟悉,但是邏輯是服務器需要向瀏覽器發送標頭以“不緩存該頁面”。 因此,您可以在此處找到一些答案Ruby on Rails:清除緩存的頁面
使用哈希確定它是否已經刷新,以確保它僅發生一次:
window.onload = function() {
if(!window.location.hash) {
window.location = window.location + '#loaded';
window.location.reload();
}
}
jquery
和代碼的集成沒有問題。 Rails
項目帶有TurboLink ,它與jquery
有一些沖突。 一種可能的解決方案是從項目中刪除turbolink
(從application.rb
刪除它)並使用Jquery-Turbolink 。
這將允許像我在問題中那樣使用jquery
內置函數。
請更新答案或添加評論以獲取其他可能的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.