2008-10-29 6 views
11

В рендера методом с веб-управления ASP.NET, мне нужно изменить выход Html в зависимости от того, включен или отключен в браузере клиентов JavaScript,Detect, когда JavaScript отключен в ASP.NET

Кто-нибудь знает правильное заклинание, чтобы понять это?

ответ

13

Проблема с использованием сценария, чтобы проверить, включен ли Javascript, что вы обнаружите, что только после того, как скрипт не работает.

Некоторые решения пытаются сделать обратное - они используют javascript для установки значения, а затем предоставляют элементы управления, поддерживающие Javascript, если это значение будет обнаружено позже. Однако это не работает с инструментами, поддерживаемыми javascript-иногда, такими как плагин Firefox NoScript.

Более надежное решение - всегда отправлять элемент управления, совместимый с простым HTML, а затем запускать javascript на загрузку страницы, чтобы добавить правильные обработчики событий/дополнительные элементы DOM/etc.

Однако я не знаю, как это вписывается в подход ASP.NET к элементам управления.

+0

Я думаю, что вы правы, это, вероятно, лучше, чтобы предположить, что JS является отключен, а затем запускает скрипт для преобразования элементов при попадании на клиента. Спасибо. – Kieron 2008-10-29 11:53:16

3

Тег noscript используется для определения альтернативного содержимого (текста), если сценарий НЕ выполнен.

EDIT: Привет Кирон, посмотрите на эту ссылку: Creating a Server Control for JavaScript Testing и Detect if JavaScript is enabled in ASPX

+0

Я искал что-то более мелкое зерно, чем это. Мне действительно нужно отображать разные элементы, если JS отключен. , например.

  • // JAVASCRIPT ВКЛЮЧЕНО // JAVASCRIPT ИНВАЛИДАМИ
Kieron 2008-10-29 11:41:58

+0

+1 для отыскания же CP статью =) – StingyJack 2008-10-29 11:51:54

0

Это способ проверки при отправке формы.

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

Я не думаю, что есть какое-либо запрос свойство, которое покажет вам, когда страница первой просьбы. Существует свойство, которое сообщит вам, поддерживает ли браузер JS, но не включен. See Here

3

Браузер не поддерживает Javascript с запросом.

Одна вещь, которую я сделал, хотя я не уверен, что это применимо в вашем случае, генерирует страницу так, как если бы Javascript не был включен, тогда у вас есть Javascript, который отключает только HTML-контент и включается HTML-Javascript.

Вы также можете перенести первую страницу «домой домой» с помощью Javascript для записи в сеансе, включен ли Javascript или нет.

0

Что вам нужно сделать это. После долгих испытаний и поздних ночей я решил использовать самое простое решение. Перетащите ярлык в верхнюю часть страницы и убедитесь, что он читает «run at server». Затем для атрибута Text поместите Text = "Этот сайт требует Javascript". Это должен быть лучший ответ. : D

Смежные вопросы