2012-10-31 81 views
4

我想檢查是否在Ruby on Rails的頁面加載時啓用javascript和cookie。因此,如果有人試圖打開它,網站應顯示一條消息,表示他無法繼續進行。檢查在rails上的ruby中是否啓用了javascript和cookie?

+0

可能的重複 - http://stackoverflow.com/questions/2315648/check-if-javascript-is-enabled-serverside-with-rails –

回答

2

您可以使用<noscript> ... </noscript>標籤。欲瞭解更多信息請查看here

+0

有無論如何檢查它在應用程序控制器? –

+0

根本沒有。因爲你必須先加載頁面。 – simonmenke

0

如果您需要了解此服務器端,您可以通過JavaScript設置cookie。如果rails無法讀取它,則比用戶沒有啓用cookie或javascript。

0

<noscript>標記似乎不適用於腳本攔截器,如chrome ScriptSafe。對於這種情況,我找到了一個解決方法:創建一個警告消息,刪除,以防javascript的效果。

這是使用id = 「noscriptmessage」 警告消息:

<div id="noscriptmessage" style="color:red"> 
    This site requires javascript enabled! 
</div> 

而下面的腳本將刪除該郵件,如果啓動Javascript並沒有阻止:

<script> 
document.getElementById("noscriptmessage").innerHTML=""; 
</script> 

確保腳本會在消息之後找到(例如,如果您在警報消息之前將腳本放在標題中,它將不起作用)。

+0

對不起,我錯過了這個問題重複的提示:請參閱:[鏈接](http://stackoverflow.com/questions/2315648/check-if-javascript-is-enabled-serverside-with-rails)。用戶「bobince」已經描述了相同的解決方案。您可能想要查看該頁面以及其他大量可能的解決方案。 – Olli

相關問題