2011-03-18 4 views
5

사용자 상호 작용을 위해 웹 사이트를 완전히 소켓 및 아약스로 만들고 싶습니다. 자바 스크립트가 해제 된 사용자는 어떤 방식 으로든 웹 사이트에 업데이트를 보내거나 등록 할 수조차 없다는 것을 의미합니다. 그들은 단지 데이터를 읽을 수 있습니다.NoScript와 같은 것을 사용하려는 사용자의 비율이 적습니까?

그럼이 문제에 대한 일반적인 견해는 무엇입니까? 스크립트를 끄는 소그룹의 사람들을 다루기에 충분히 유연한 웹 사이트를 만들기 위해 시간을 할애해야합니까?

이것은 또한 더 많은 웹 사이트에서 재사용 할 수있는 프레임 워크입니다.

답변

9

모든 결정은 사용자의 일부분에 영향을 미칩니다. 이상적인 화면 크기, 쿠키 켜기/끄기, JavaScript 등은 모두 영향을 미칩니다.

하지만 이것은 새로운 것은 아닙니다. iOS 용 앱을 작성하면 Android에서 실행할 수 없습니다. xBox 용 게임을 작성하면 PlayStation에서 실행되지 않습니다.

개인적인 의견 - 사람들이 문자 그대로 브라우저에서 JavaScript를 해제 한 경우 (통계에서 매우 낮은 백분율 임), 열악한 웹 경험을 얻게됩니다. 사용자가 사이트를 제대로 사용할 수 없습니다. IMO 괜찮아. 당신은 선택을했고 그렇게했습니다. 사용자가 좋은 경험을 얻길 바란다. 그래서 초점을 맞춘다.

Windows 및 Mac 소프트웨어와 유사하게 만들어 보겠습니다. Windows는 데스크톱 시장의 95 %, Mac은 5 %를 차지하고 있습니다. (나는 숫자를 구성하고있다. 정확한 통계가 무엇인지는 중요하지 않다.) 그래서 당연히 PC 용 프로그램을 먼저 작성하십시오. 그 후에는 Mac 용으로 다시 쓰거나 PC 용으로 다시 쓸 시간을 보낼 수 있습니다. 대부분의 사람들은 PC를 개선하기로 선택합니다.

나는 캠프에 있는데, 소수 민족을 너무 걱정하지 않는다. 나는 IE6에서 더 이상 테스트하지 않는다. JavaScript가 켜져 있어야합니다. 적어도 세션 쿠키에 대한 지원이 필요합니다. IE6에 머무르고 싶다면 - 그렇게하십시오.하지만 사이트를 사용할 수 없다면 그건 내게 울지 마라. 10 년 된 휴대 전화를 지원하지 않으므로 왜 10 년이 지난 브라우저를 지원합니까? JavaScript를 끄는 사람들의 논리를 이해합니다. 그러나 98 %의 다른 사람들이 당신을 수용 할 수있는 경험이 줄어들지는 않을 것입니다. 그리고 모든 것을 두 번 다시 쓸 시간이 없습니다.

+0

나는 의견이 같았다. 다른 사람들이 무엇에 있었는지 알고 싶었습니다. IE6는 Javascript를 해제하는 것과 약간 다릅니다. IE는 많은 컴퓨터에 사전 설치되거나 학교/직장 컴퓨터의 기본 브라우저입니다. 따라서 많은 사용자가 더 잘 알지 못하거나 걱정하지 않거나 다른 브라우저를 설치할 수 없습니다. 그러나 Javascript는 모든 브라우저에서 기본적으로 설정됩니다. 인터넷에서 충분한 시간을 보낸 사용자 만 사용을 중지하려고 시도합니다. 그리고 그것은 완전히 그들의 선택입니다. – fent

1

웹 사이트, 비즈니스 모델, 고객 또는 소규모 "작은"크기에 대해 알지 못하기 때문에 가치가 있는지 여부를 알려줄 수는 없습니다. 그것은 확실히 많은 작업으로 이어질 것이고 아마도 사용자 경험에서 약간의 모순이 생길 것입니다.

둘 사이에 가능한 한 많이 재사용 할 수있는 한 가지 방법은 엄격한 MVC 모델을 사용하는 것입니다. 모델 레이어는 요청 된 각 데이터 조각을 가져올 수 있으며 앞에있는 파사드 레이어는 두 가지 종류의 요청을 처리 할 수 ​​있습니다.

귀하의 웹 사이트에 회원 프로필 관리 페이지가 있다고 가정 해 보겠습니다. 이 모델은 식별자, 주소,

시나리오 A는, JS가 활성화되어 전화 번호, 이메일 주소 등을 설정/취득하기위한 방법과 회원의 개체가 :
1) "프로필 관리"메뉴 옵션 통화에서 링크 백엔드의 getProfile(). 이렇게하면 getIdentifiers(), getAddress(), getPhone() 등을 호출하여 다시 보내도록 HTML/JavaScript를 작성한 다음이를 클라이언트로 다시 보냅니다.
2) 사용자가 프로필 페이지에서 전화 번호를 변경합니다. JS가 활성화되었으므로 setPhone()에 AJAX 호출이 수행되고 결과가 돌아 오면 페이지의 해당 부분 만 업데이트됩니다.

시나리오 B, JS가 비활성화되었습니다. 1) "프로필 관리"메뉴 옵션의 링크는 백엔드에서 getProfile()을 호출합니다. 세션 데이터에는 JS가 비활성화되어 있으므로 렌더링 된 페이지에 양식과 제출 버튼이 있다는 것을 알리는 부울 값이 있습니다. 2) 사용자가 모든 필드가 포함 된 setProfile()에 데이터를 전송하거나 변경하지 않았습니다. 돌려주는 것은 getProfile()을 통해 새로운 정보로 페이지를 다시 렌더링하는 것입니다.

Also see this post JS가 꺼져있을 때 대체 콘텐츠를 표시하는 중입니다.

따라서 이 가능합니다.입니다. 그러나 Bruce가 말했듯이, 당신이 정말로 그 인구를 필요로하지 않는다면, 그들은 그들이받을 가치가있는 것을 얻습니다. 나는 개인적으로 14.4K 모뎀을 통해 사이트에 액세스하려고 시도하는 사용자를 고려하려고 노력하는 것 이상의 노력을하지 않을 것입니다. JS를 끄는 모든 도구를 사용하면 예외 웹 사이트를 지정할 수 있습니다.

+0

감사. 모델 레이어를보다 유연하게 유지하기 위해 개발하는 것이 좋습니다. 지금은 JS가 꺼진 사용자에게는 아무 것도하지 않겠습니다. 하지만 나중에 마음이 바뀌면 유연하게 유지할 것입니다. 컨트롤러, 뷰 및 현재 모델을 설정하는 방법은 컨트롤러에 몇 가지 메서드를 추가하고 폼을 이러한 새 메서드에 제출 한 다음 JS와 폼을 검토하여 제출하도록하는 것입니다. 아약스/websocket. – fent

관련 문제