簡體   English   中英

檢測ASP.NET中禁用JavaScript的時間

[英]Detect when JavaScript is disabled in ASP.NET

在ASP.NET Web控件的Render方法中,我需要根據客戶端瀏覽器上是啟用還是禁用JavaScript來更改Html的輸出,

有沒有人知道正確的咒語來解決這個問題?

使用腳本檢查是否啟用了javascript的問題是,只有在腳本未運行后才能找到它。

一些解決方案嘗試相反 - 他們使用javascript設置值,然后提供啟用Javascript的控件,如果稍后檢測到該值。 但是,這有點像Firefox NoScript插件這樣的javascript有時啟用的工具。

一個更強大的解決方案是始終發送純HTML兼容控件,然后在頁面加載時運行javascript以添加正確的事件處理程序/額外的DOM元素/等。

但是我不知道這與ASP.NET方法對控件的適應性如何。

如果未執行腳本,則noscript標記用於定義備用內容(文本)。

編輯:嗨Kieron,看看這個鏈接: 為JavaScript測試創建一個服務器控件 ,並檢測ASPX中是否啟用了JavaScript

瀏覽器不會將Javascript可用性與請求進行通信。

我做過的一件事,雖然我不確定它是否適用於你的情況,是生成頁面好像沒有啟用Javascript,然后有一些Javascript關閉HTML-only的東西並打開HTML-Javascript東西。

您還可以通過Javascript將第一頁打到“phone home”,在會話中記錄Javascript是否已啟用。

這是一種檢查表單提交時間的方法。

http://www.4guysfromrolla.com/webtech/082400-1.shtml

我不認為有任何Request屬性會告訴您何時首次請求頁面。 有一個屬性會告訴您瀏覽器是否支持JS,但是如果啟用了則不會。 看這里

你需要做的就是這個。 經過大量測試和深夜,我決定使用最簡單的解決方案。 將標簽拖到頁面頂部,並確保其顯示為“在服務器上運行”。 然后,對於Text屬性,輸入Text =“此網站需要Javascript”。 那應該是最好的答案。 :d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM