사람들이 JavaScript를 비활성화하는 이유는 무엇입니까? 컨센서스는 다음과 같습니다. 예, JavaScript

어제 질문에 JavaScript 비활성화를 위해 개발해야합니까? . 컨센서스는 다음과 같습니다. 예, JavaScript Disabled를 개발해야합니다. 이제 사용자가 왜 JS를 비활성화하는지 이해하고 싶습니다. 많은 개발자 (질문에 대답 한 사람들이 개발자라고 생각합니다)가 JS를 비활성화하는 것 같습니다. 왜 그런 겁니까. 사용자가 왜 JS를 비활성화합니까? 보안을 위해? 속도? 또는 무엇을?



답변

다음과 같은 고려 사항 때문에 브라우저 환경에서 JavaScript를 비활성화합니다.

  • 속도 및 대역폭
  • 사용성 및 접근성
  • 플랫폼 지원
  • 보안

속도 및 대역폭

많은 응용 프로그램이 자신의 이익을 위해 너무 많은 JavaScript를 사용합니다 … AJAX 호출로 항상 새로 고치려면 인터페이스의 일부가 필요합니까? 광대역 연결과 함께 사용하면 인터페이스가 훌륭하고 빠르지 만 연결 속도를 느리게 다운 그레이드해야하는 경우보다 간소화 된 인터페이스가 선호됩니다. 그리고 JavaScript를 끄는 것은 아무 이유없이 15 초마다 세상을 상쾌하게하는 바보 같은 웹 앱을 막는 좋은 방법입니다. (페이스 북이 전송하는 데이터의 양을 살펴본 적이 있습니까? 무섭습니다. JS 관련 문제 일뿐만 아니라 그 일부이기도합니다).

또한 점점 더 많은 프로세싱을 클라이언트로 오프로드하는 경향이 있으며, 최소한의 (또는 구식 인) 하드웨어를 사용하는 경우 고통 스럽습니다.

사용성 및 접근성

모든 사용자 인터페이스가 동적 인 방식으로 표현되어야하는 것은 아니며 많은 경우 서버 생성 컨텐츠가 완벽하게 수용 될 수 있습니다. 또한 일부 사람들은 이러한 유형의 인터페이스를 원하지 않습니다. 모든 사람을 기쁘게 할 수는 없지만 때로는 모든 사용자를 만족시킬 수있는 기회와 의무가 있습니다.

마지막으로, 일부 사용자에게는 장애가 있으므로 , 절대로 무시하지 말아야합니다 !!!

제 생각에 최악의 시나리오는 UI를 “현대화”하여 대중에게 친근감있게 보이려고하지만 결국 의도 한 청중의 큰 덩어리를 남기는 정부 웹 사이트입니다. 마찬가지로, 대학생이 맹인이고 스크린 리더가 사이트를 지원하지 않거나 사이트가 너무 무겁고 특별하고 현대적인 플러그인이 필요하기 때문에 코스 내용에 액세스 할 수없는 경우 유감입니다. 2 년 전에 e-bay에서 구입 한 리퍼브 노트북에 설치하지 않거나 봄 방학을 위해 다른 국가로 귀국하여 로컬 대역폭 제약으로 인해 페이로드에 대처할 수 없기 때문에 대지.

모두가 완벽한 세상에 사는 것은 아닙니다.

플랫폼 지원

이 시점은 이전의 두 가지와 관련이 있으며 브라우저에는 이전보다 훨씬 효율적인 수준의 JavaScript 엔진이 브라우저에 내장되어 있기 때문에 오늘날에는 관련성이 적습니다.

그러나 모든 사용자에게 최신 브라우저를 사용할 권한이 있다고 보장 할 수는 없습니다 (기업 제약으로 인해 타당한 이유없이, 또는 실제로 또는 유효하지 않을 수있는 다른 이유없이 전적으로 브라우저를 지원해야 함). “Matthieu M.”에서 언급했듯이 의견에 따르면 많은 사람들이 여전히 품질이 낮은 하드웨어를 사용하고 모든 사람이 최신의 최신 스마트 폰을 사용하는 것은 아니라는 점을 기억해야합니다. 현재로서는 지원이 제한된 내장 브라우저가있는 전화를 사용하는 사람들이 여전히 상당 부분 있습니다.

그러나 내가 언급 했듯이이 분야에서는 상황이 좋아집니다. 그러나 정기적으로 폴링을 계속하면 (또는 사용자가 전화 요금 청구서를 즐길 수있는 경우) 대역폭 제한에 대한 이전 사항을 기억해야합니다.

그것은 모두 매우 관련이 있습니다.

보안

브라우저 환경에서 실행되는 JavaScript를 고려할 때 특히 위험한 것은 없다고 생각할 수 있지만 이는 사실이 아닙니다.

P.SE와 SO를 방문 할 때 다른 네트워크에 로그인 한 경우 자동으로 로그인된다는 것을 알고 있습니까? 거기에 JS가 있습니다. 이 비트는 여전히 무해하지만 일부 악의적 인 사이트에서 악용 할 수있는 몇 가지 개념을 사용합니다. 웹 사이트에서 JavaScript를 사용하여 탐색 세션 중에 수행 한 작업 또는 수행 한 작업 (또는 브라우저를 종료하거나 지금 실행할 때마다 세션 데이터를 지우지 않은 경우 이전 작업)에 대한 정보를 수집 할 수 있습니다. 일반적인 시크릿 / 비공개 브라우징 모드를 광범위하게 사용한 다음 서버에 업로드하면됩니다.

최근의 주요 브라우저에서 작동하는 최근의 취약점에는 저장된 입력 양식 데이터수집 하는 기능이 포함되어있었습니다 (악의적 인 페이지에서 조합을 시도하고 가능한 각 시작 문자 조합에 대해 제안 된 텍스트를 기록하여 공격자에게 사용자에게 알려줄 수 있음) 당신이 일을하고 사는 곳 )하거나 인터넷 사용 정보 추출 및 습관 ( 이 방문한 않다면 링크의 색상을 일치하고 볼 수있는 페이지의 DOM에 링크를 주입하는 것만 큼 간단 일을 아주 영리 해킹 . 그냥 할 필요가 이것은 알려진 도메인 이름으로 구성된 충분히 큰 테이블에 있으며 JavaScript 처리 속도가 빨라지면 이러한 유형의 작업이 빠르게 완료됩니다.)

또한 브라우저의 보안 모델에 결함이 있거나 방문한 웹 사이트가 XSS 공격에 대해 충분히 보호되지 않을 경우 JavaScript를 사용하여 원격 웹 사이트에서 열린 세션을 탭할 수 있습니다.

JavaScript는 신뢰할 수있는 웹 사이트에 사용하면 대부분 무해합니다. Gmail. 페이스 북 (아마도 … 심지어 …). 구글 리더. StackExchange.

그러나 네, JavaScript는 그렇게 나쁘지 않습니다. 그리고 어쨌든 온라인에서 두려워해야 할 더 무서운 것들이 있습니다. EFFPanopticlick 실험에서 볼 수 있듯이 실제로 그렇게 많지 않은 경우 익명으로 생각 하는 것과 같습니다 . JavaScript를 사용하여 부분적으로 수행됩니다. 브라우저 지문을 피하기 위해 JavaScript를 비활성화해야하는 이유를 읽을 수도 있습니다 .


이 모든 것을 말하면 JavaScript 지원에 대해 신경 쓸 필요가없는 완벽한 상황이있을 수 있습니다. 그러나 공공 서비스 웹 사이트를 제공하는 경우 두 유형의 클라이언트 모두를 수락하는 것을 고려하십시오. 개인적으로, 나는 많은 현대적인 웹 응용 프로그램과 웹 사이트가 클라이언트 측에서 전혀 JavaScript가없는 이전 서버 생성 콘텐츠 모델을 사용하는 것만 큼 잘 작동한다고 생각하며 여전히 훌륭하고 덜 소비 될 것입니다.

마일리지는 프로젝트에 따라 다를 수 있습니다.


답변

매일 아침 재미있는 만화를 쓰도록 누군가를 신뢰하고 내 컴퓨터에서 임의의 Turing-complete 코드를 실행하도록 누군가를 신뢰하는 것은 매우 다른 두 가지 일 이기 때문입니다.


답변

저는 웹 개발자가 아니며 인터넷 작동 방식에 대해 어느 정도 이해하고 있습니다. 따라서 이것은 사용자 의 답변입니다 .

나는 기본적으로 볼 것이다 때 : 내 경험이 많은 사이트는 단순히 가난, 코딩 게으름 또는 무지의 여부되어 있는게 틀림 없어 정적 내 CPU 사용률이 15 % 같은 것을 증가하고, 크게 더 많은 것 같은 페이스 북 페이지로, 웹 페이지를 여러 개의 탭이 있습니다. 결국 버튼이나 링크를 클릭 한 후 응답을 기다려야하며 CPU가 과열되어 잠기 게됩니다.

이러한 최악의 범죄자 (사이트) 중 많은 부분에서 눈에 띄는 변화가없고 대화식으로 일어나는 것은 없습니다. 사이트 코드가 지속적으로 과도한 새로 고침, 폴링 및 무한 루프를 반복하고 있다고 가정 할 수있었습니다.

이로 인해 NoScript 를 설치 하여 CPU 사용량을 늘리고 브라우징이 좌절되는 것을 막았습니다.

내가 사용하는 다른 멋진 추가 기능은 FlashBlock 입니다.


답변

속도 때문에 JS를 비활성화합니다. JavaScript가없는 TechCrunch는 프라이밍 된 캐시로로드하는 데 몇 초가 걸립니다. JavaScript를 사용하면 캐시가 준비되지 않으면 거의 20 초가 걸립니다.

많은 이미지 사이트, 특히 이미지 갤러리 및 상거래 사이트가 JavaScript로 인해 부풀려졌습니다. 이를 제거하면 대부분의 경우 더 나은 탐색 환경을 제공합니다.


답변

나를 위해 보안에 관한 모든 것. 나는 noscript를 사용하여 특정 웹 사이트가 자바 스크립트를 실행할 수 있도록 허용하지만 대부분은 허용하지 않습니다.

결국 당신은 위험이 어디에 있는지 절대 알지 못합니다 ( nobel 웹 사이트는 techspot.com에 감염되었습니다 ). 많은 제로 데이 (및 기타) 익스플로잇은 javascipt를 사용합니다. 이 공격 경로를 마치면 올바른 방향으로 나아가는 것처럼 느껴집니다.


답변

내 주된 이유는 그것이 가장 성가신 광고를 억제하기 때문입니다. AdBlock Plus는 내가 방문하는 사이트의 수익에 영향을 줄 수 있으므로 AdBlock Plus를 사용하지 않고 서비스 약관에서 광고를 사용 중지하지 말라고 한 사이트를 사용했습니다. NoScript는 광고의 잠재적 유해성을 제한하며 나머지 광고와 함께 기꺼이 살겠습니다.

또한 보안을 고려해야하며 광고를 판매하는 모든 사이트는 잠재적으로 적대적인 것으로 간주되므로 광고와도 관련이 있습니다.

또한 사이트를 방문하기 전에 사이트가 피할 수 있다는 것을 반드시 알 필요는 없습니다. 어떤 사람들은 사이트 링크를 보내는 것을 좋아하며 반드시 정직하지는 않습니다.


답변

브라우저는 JavaScript 구현 속도가 느리고 n00b 웹 디자이너가 너무 많기 때문에 버튼 롤오버와 관련이없는 항목에 사용했습니다.

최신 브라우저를 사용하는 빠른 컴퓨터에서는 올바른 사람이 항상 사용하지 않도록 설정하지 않습니다. 빠른 컴퓨터에서 최신 브라우저를 실행하기위한 자금, 욕구 또는 노하우가없는 “보안 의식이있는”사람들이 많지 않다는 말은 아닙니다 … 최근에야 IE6가 중지 된 것입니다 인터넷에서 가장 인기있는 브라우저!