문제

ASP.NET 웹 컨트롤의 Render 메서드에서 클라이언트 브라우저에서 JavaScript가 활성화되었는지 또는 비활성화되었는지에 따라 Html의 출력을 변경해야 합니다.

그것을 알아낼 수 있는 올바른 주문을 아는 사람이 있나요?

도움이 되었습니까?

해결책

자바스크립트가 활성화되어 있는지 확인하기 위해 스크립트를 사용할 때의 문제점은 스크립트가 실행되지 않은 후에야 그 사실을 알 수 있다는 것입니다.

일부 솔루션은 그 반대를 시도합니다. 즉, JavaScript를 사용하여 값을 설정한 다음 해당 값이 나중에 감지되면 Javascript 지원 컨트롤을 제공합니다.그러나 이는 Firefox NoScript 플러그인과 같은 javascript가 가끔 활성화되는 도구에서는 실패합니다.

보다 강력한 솔루션은 항상 일반 HTML 호환 컨트롤을 보낸 다음 페이지 로드 시 javascript를 실행하여 올바른 이벤트 핸들러/추가 DOM 요소 등을 추가하는 것입니다.

그러나 이것이 컨트롤에 대한 ASP.NET 접근 방식과 어떻게 어울리는지는 모르겠습니다.

다른 팁

그만큼 noscript 태그는 스크립트가 실행되지 않은 경우 대체 내용 (텍스트)을 정의하는 데 사용됩니다.

편집 : 안녕하세요 Kieron,이 링크를 살펴보십시오. JavaScript 테스트를위한 서버 컨트롤 생성, 그리고 ASPX에서 JavaScript가 활성화되어 있는지 감지하십시오

브라우저는 JavaScript 가용성을 요청과 통신하지 않습니다.

내가 한 일 중 하나는 귀하의 경우에 적용 할 수 있는지 확실하지 않지만 JavaScript가 활성화되지 않은 것처럼 페이지를 생성하고 HTML 전용 항목을 끄고 HTML-JavaScript를 켜는 JavaScript가 있습니다. 물건.

JavaScript가 활성화되어 있는지 여부에 관계없이 세션에서 녹음하기 위해 JavaScript를 통해 첫 번째 페이지가 "Phone Home"을 기록 할 수도 있습니다.

이것은 양식이 제출되는시기를 확인하는 방법입니다.

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

페이지가 처음 요청 될 때 알려주는 요청 속성이 있다고 생각하지 않습니다. 브라우저가 JS를 지원하는지 알려주는 속성이 있지만 활성화 된 경우에는 그렇지 않습니다. 여기를 봐

당신이해야 할 일은 이것입니다. 많은 테스트와 늦은 밤 후에, 나는 가장 간단한 솔루션을 사용하기로 결정했습니다. 라벨을 페이지 상단에 드래그하고 "서버에서 실행"을 읽는지 확인하십시오. 그런 다음 텍스트 속성의 경우 텍스트 = "이 웹 사이트에는 javaScript가 필요합니다"를 넣습니다. 그것은 최상의 답변이어야합니다. :디

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top