나는 여전히 다른 사람들이 생각하는 것에 관심이있어서 Asp.Net에 꽤 새로운 방법을 생각해 냈습니다.
편집 : 내가 브라우저가 노 스크립트가 있으면 그래서 우리는 같은 페이지로 리디렉션 유지하지 않아도 기억 임시 (세션 만) 쿠키를 도입하여 아이디어를 확장, 우리는 그냥 부울 값을 사용 다음에 페이지가 요청 될 때
나는 마스터 페이지의 머리에서 이런 짓을 :
<noscript>
<%# NoScriptPlaceHolder %>
</noscript>
를있는 TabContainer의 Visible="<%# !NoJavascript %>"
재산에서. 그런 다음 코드 숨김에서
:
protected bool NoJavascript
{
get
{
TempCookie cookie = new TempCookie(); // session only cookie
if (cookie.NoJavascript) return true;
bool noJavascript = !string.IsNullOrEmpty(Request["noscript"]);
if (noJavascript)
cookie.NoJavascript = noJavascript;
return noJavascript;
}
}
protected string NoScriptPlaceHolder
{
get
{
if (NoJavascript)
return string.Empty;
string url = Request.Url.ToString();
string adv = "?";
if (url.Contains('?'))
adv = "&";
string meta = string.Format("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL={0}{1}noscript=true\">",
url, adv);
return meta;
}
}
다른 아이디어?
향후 생각 : 쿠키가 활성화되어 있지 않으면 각 요청에 noscript 쿼리 값을 전달하는 유틸리티가 도움이 될 것입니다. 그렇지 않으면 각 요청에서 동일한 페이지로 계속 리디렉션됩니다.
자바 스크립트가 사용자에 의해 사용 중지되었거나 내가 틀렸다면 브라우저가 지원하는 것과 다르지 않습니까? –
예, 당신의 권리 ... 죄송합니다 ... JS가 꺼져있는 경우 뭔가를 숨기려면 dispaly : none; CSS에서 기본적으로 숨 깁니다. 그런 다음 페이지에서 일부 JS를 실행하여 요소를 표시 할 수있는 특성을 제거 할 수 있습니다. 이렇게하면 HTML이 렌더링되지만 JS가 활성화되어 있지 않으면 사용에서 완전히 숨겨져 야합니다. – Zachary
그래서이 구성 요소를 생각해 냈습니다.그것은 JS가 비활성화되어 있는지 감지하고 그에 따라 행동 할 수있게 해줍니다. –