попробуйте это
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack) {
string targetId = Page.Request.Params.Get("__EVENTTARGET");
Page.ClientScript.RegisterStartupScript(this.GetType(), "focusthis", "document.getElementById('" + targetId + "').focus()", true);
}
}
Кто-то на другом форуме упомянул использование изображения для предупреждения. На мой взгляд, это будет иметь три преимущества:
Если вы объедините это с чем-то вроде non-noscript метод, упомянутый JP, кажется наилучшим из возможных решений.
Я не думаю, что использование
- хорошая идея. Я слышал, что это неэффективно, когда клиент находится за брандмауэром, блокирующим JavaScript - если в браузере клиента включен JavaScript, тег
не будет активирован, потому что с точки зрения браузера , JavaScript полностью работоспособен в документе ...
ИМО, лучший метод - это скрыть весь потенциальный контент «noscript» с помощью JavaScript.
Вот очень простой пример:
...
<body>
<script>
document.body.className += ' js-enabled';
</script>
<div id="noscript">
Welcome... here's some content...
</div>
И в вашей таблице стилей :
body.js-enabled #noscript { display: none; }
Дополнительная информация:
не предназначен для бессмысленных предупреждений вроде:
О, нет! У вас не включен JavaScript! Если вы не включите JS, вы обречены. [Длинное объяснение того, как включить JS во всех когда-либо созданных браузерах]
Это предназначено для того, чтобы вы предоставили как можно больше контента, вместе с вежливым упоминанием о том, что включение JS предоставит доступ к определенным дополнительные функции. Вы обнаружите, что практически все популярные сайты следуют этому руководству.
Поместите содержимое
в конец вашего HTML, а затем с помощью CSS разместите его в верхней части окна браузера. Google больше не будет считать это важным.
Сам Stack Overflow использует эту технику - сделайте View Source на этой странице, и вы увидите предупреждение «лучше всего работает с JavaScript» в конце HTML-кода, которое появляется вверху страницы при отключении JavaScript.
Просто хотел опубликовать интересную информацию, связанную с этим. Для своего сайта я сделал что-то похожее на то, что использует stack overflow, но с добавлением ссылки "узнать больше", поскольку мои пользователи не такие технические, как на этом сайте.
Самое интересное, что, следуя советам людей на сайте, я отказался от тега noscript, вместо этого выбрав скрытие div'ов сообщений с помощью javascript. Но я обнаружил, что если firefox ждет мастер-пароль, то скрытие сообщения прерывается, поэтому я думаю, что вернусь к noscript.