문제

나는 JavaScript와 Ajax를 우아하게 분해하는 데 조금 더주의를 기울이기 시작했습니다. 더 권장됩니다.

  • 우아한 열화를 기존 코드에 통합하거나 (까다로울 수 있음)
  • 비 JS 사용자를 위해 다른 페이지 세트를 개발합니다.

나는 다른 페이지 세트에 기울고 있습니다. 왜냐하면 더 쉽다고 생각하고 각 사용자 유형 (JS 지원 또는 JS 장애인)에 대해 최상의 결과를 제공 할 수 있기 때문입니다. 당신은 나에게 동의합니까? 그렇지 않다면 왜 동의하지 않습니까?

또한 해킹 시도에 대해 걱정하고 있습니다. 예를 들어 Hacker는 JS 지원 버전에 도달 한 다음 JS를 비활성화합니다. 이 시점에 대한 생각이 있습니까? 해킹에 대해 많이 모르지만 별도의 버전을 사용하면 보안 문제가 될 수 있습니까?

미리 감사드립니다

도움이 되었습니까?

해결책

JS가 활성화 된 두 개의 별도의 페이지 세트와 JS가 아닌 두 페이지를 개발하는 것은 처음에뿐만 아니라 애플리케이션이 계속 발전함에 따라 많은 작업입니다. 그것이 당신을 너무 귀찮게하지 않는다면, 나는 그것이가는 길이라고 생각합니다. 나는 당신이 때때로 매우 까다로운 것에 대해 같은 페이지의 우아한 타락에 대해 옳다고 생각합니다. 때때로 이것은 레이아웃 때문입니다. JS를 활성화하면 JS가없는 곳에 요소를 숨기고 표시 할 수 있습니다. 별도의 페이지 세트는 페이지 구조를 깨끗하게 유지하는 데 도움이 될 수 있습니다.

해킹 시도에 대해 : 클라이언트 측 JavaScript 검증에 의존 할 수는 없습니다. 모든 것이 서버 측면을 점검 (또는 재 체결)해야하며 서버 측 코드는 사용자 입력에 대해 전혀 가정하지 않을 수 있습니다. 따라서 응용 프로그램을 사용하는 동안 JS를 비활성화하는 사람의 시나리오는 관련이 없다고 생각합니다. 비 JS 및 JS 버전에 대해 예상되는 사용자 입력 균일을 유지하고 올바르게 검증하면 좋습니다.

다른 팁

기존 사이트에는 잘 작동하지 않지만 종종 사용하는 것이 더 유용합니다. 진보적 인 향상 패러다임 : 사이트를 구축하여 특별한 애드온없이 작동하여 그 위에 굉장함을 레이어링하기 시작하십시오.

이런 식으로 당신은 그것이 처음부터 작동하는지 확인할 수 있으며 모든 사람 (스크린 리더를 사용하는 사람들, 이미지 또는 스타일 시트를 끄는 사람들 및 JavaScript를 사용하지 않는 사람들 포함)은 모두 사이트에 액세스 할 수 있습니다.

그러나 기존 사이트의 경우 AJAX가 제공하는 기능에 따라 다릅니다. 일반적으로 JS 비활성화로 모든 Ajax 기능을 반영하려고 노력해야합니다. JS 버전에 보안 구멍이있는 경우 비 JS 버전에서도 가능합니다. Ajax는 일반 URL을 통해 액세스 할 수없는 모든 것을 얻을 수 없습니다.

당신은 아마 체크 아웃하고 싶을 것입니다 jQuery ajaxy. 서버 측 수정없이 웹 사이트를 전체 특집 Ajax One으로 우아하게 업그레이드 할 수 있으므로 모든 것이 여전히 JavaScript 비활성화 된 사용자 및 검색 엔진에 대해 작동합니다. 또한 해시를 지원하므로 뒷면 및 전방 버튼이 여전히 작동합니다.

이 두 사이트에서 구현되었습니다 (내가 알고있는) http://wbhomes.com.au 그리고 http://www.balupton.com

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