1
在我的Rails 3.2.3應用程序,我已經在application.html.erb下面的代碼刷新整個頁面每隔30秒:如果頁面上沒有輸入字段,元刷新?
<meta http-equiv="refresh" content="30">
它運作良好,(它是一個內部網,我們需要做無論他們在他們的計算機上打開頁面多久,每個人都在查看最新信息),而任何更復雜的內容(例如AJAX)都是不必要的。
我希望做的是有某種「除非」語句包裝meta標籤,如:
<% unless page.contains('input') %>
<meta http-equiv="refresh" content="30">
<% end %>
這將阻止頁面30秒後清爽如果頁面包含一個表單輸入字段。目前,即使您填寫頁面的一半,頁面仍會刷新。
就是這樣的可能。我意識到上面的代碼示例永遠不會工作,這純粹是解釋我想要實現的。
一種可能性是檢查當前頁面的行動是什麼作爲documentation說:
<% current_page?(:action => 'new') %>
,但我不能完全肯定是否會工作。
如果我使用jQuery我可以離開了原來的meta標籤,然後添加你的我現有的DOM就緒函數的第二個代碼示例,還是我需要第一個示例? – dannymcc 2012-04-02 16:33:07
@dannymcc如果已經使用jQuery,則只需要第二個代碼示例,並應刪除原始元刷新標記。 – 2012-04-02 16:35:15
如果我使用第二個示例,我可以在何處爲沒有輸入的頁面設置重新加載時間。假設我已經刪除了原始的元刷新標籤? – dannymcc 2012-04-02 16:41:51