我見過很多解決方案來檢查用戶是否在C#中禁用了服務器端的JavaScript(我的意思是非常殘疾,而不是如果瀏覽器不支持JavaScript,因爲我已經嘗試EcmaScriptVersion)。Sitecore - WebMethod未被調用
這裏有兩個,我發現的文章:
- How to detect if JavaScript is enabled from the server side in C#/.NET
- Detect if JavaScript is enabled in ASPX
我目前正試圖從努諾·弗雷塔斯第一種方法,因爲它似乎是最乾淨的無必須使用查詢字符串參數,但會話變量永遠不會被設置,SetJavascriptEnabled也不會被調用。
我已經添加的ScriptManager到我的aspx頁面像這樣
<asp:ScriptManager ID="scriptManager" runat="server" EnablePageMethods="true"/>
而且啓動腳本被登記在文章中(在OnPreRender事件),但它不是在頁面被顯示。順便說一句,這是一個使用sitecore的網站。
任何幫助?
我們無法爲您寫下一個解決方案。努力工作,向我們展示一些代碼,解釋爲什麼它不起作用... – 2014-10-17 11:02:17
您的問題不在於檢測Javascript。它調用Web方法。你應該問一個問題,爲什麼你的第一個解決方案不起作用。 – CodingIntrigue 2014-10-17 11:08:06
你在頁面上看到嵌入的JS嗎?查看源代碼並檢查「PageMethods.SetJavascriptEnabled」或類似的內容 - 如果不在頁面上,則不會調用它。同時檢查您的瀏覽器控制檯是否有調用方法的錯誤。 – 2014-10-17 11:12:49