Người ta vô hiệu hóa JavaScript trong môi trường trình duyệt vì những cân nhắc sau:
- Tốc độ và băng thông
- Khả năng sử dụng và khả năng truy cập
- Hỗ trợ nền tảng
- Bảo vệ
Tốc độ và băng thông
Rất nhiều ứng dụng sử dụng quá nhiều JavaScript cho mục đích riêng của chúng ... Bạn có cần các phần của giao diện của mình để được làm mới bằng các cuộc gọi AJAX mọi lúc không? Có thể giao diện của bạn cảm thấy tuyệt vời và nhanh chóng khi được sử dụng với kết nối băng thông rộng, nhưng khi bạn phải hạ xuống tốc độ kết nối chậm hơn, giao diện hợp lý hơn sẽ được ưu tiên. Và tắt JavaScript là một cách tốt để ngăn chặn các ứng dụng web ngu ngốc làm mới thế giới cứ sau 15 giây hoặc không có lý do chính đáng. (Bạn đã bao giờ nhìn vào lượng dữ liệu mà Facebook gửi qua chưa? Thật đáng sợ. Mặc dù vậy, đây không chỉ là vấn đề liên quan đến JS mà còn là một phần của nó).
Chúng tôi cũng có xu hướng giảm tải ngày càng nhiều việc xử lý cho khách hàng và nếu bạn sử dụng phần cứng tối giản (hoặc chỉ lỗi thời), điều đó sẽ rất chậm.
Khả năng sử dụng và khả năng truy cập
Không phải tất cả các giao diện người dùng nên được thể hiện theo kiểu động và nội dung do máy chủ tạo có thể được chấp nhận hoàn toàn trong nhiều trường hợp. Ngoài ra, một số người đơn giản là không muốn loại giao diện này. Bạn không thể làm hài lòng tất cả mọi người, nhưng đôi khi bạn có cơ hội và nghĩa vụ làm hài lòng tất cả người dùng của bạn.
Cuối cùng, một số người dùng bị khuyết tật, và bạn sẽ không bỏ qua chúng , bao giờ !!!
Theo tôi, các tình huống xấu nhất ở đây là các trang web của chính phủ cố gắng "hiện đại hóa" UI của họ để xuất hiện thân thiện hơn với công chúng, nhưng cuối cùng lại để lại một lượng lớn khán giả dự định của họ. Tương tự, thật đáng tiếc khi một sinh viên đại học không thể truy cập nội dung khóa học của anh ấy: bởi vì anh ấy / cô ấy bị mù và trình đọc màn hình của anh ấy không hỗ trợ trang web, hoặc vì trang web quá nặng và yêu cầu các trình cắm hiện đại đặc biệt Anh ấy / cô ấy không được cài đặt trên chiếc máy tính xách tay đã được tân trang đó đã mua trên e-bay 2 năm trước, hoặc một lần nữa bởi vì anh ấy / cô ấy trở về nhà ở một quốc gia khác để nghỉ xuân và những hạn chế về băng thông địa phương không thể đối phó với tải trọng của Địa điểm.
Không phải ai cũng sống trong một thế giới hoàn hảo.
Hỗ trợ nền tảng
Điểm này liên quan đến 2 cái trước và có xu hướng ít liên quan hơn hiện nay, vì các trình duyệt nhúng các công cụ JavaScript có mức độ hiệu quả hơn so với trước đây và điều này tiếp tục tốt hơn.
Tuy nhiên, không có gì đảm bảo rằng tất cả người dùng của bạn đều có đặc quyền sử dụng các trình duyệt hiện đại (vì các ràng buộc của công ty - điều này buộc chúng tôi phải hỗ trợ các trình duyệt trước đây mà không có lý do chính đáng - thực sự - hoặc các lý do khác có thể hoặc không hợp lệ). Như được đề cập bởi "Matthieu M." trong các bình luận, bạn cần nhớ rằng rất nhiều người vẫn sử dụng phần cứng chất lượng thấp hơn và không phải ai cũng sử dụng điện thoại thông minh mới nhất và tuyệt vời nhất. Cho đến ngày nay, vẫn còn một phần đáng kể người sử dụng điện thoại có trình duyệt nhúng với sự hỗ trợ hạn chế.
Nhưng, như tôi đã đề cập, mọi thứ trở nên tốt hơn trong lĩnh vực này. Nhưng sau đó, bạn vẫn cần nhớ các điểm trước về giới hạn băng thông nếu bạn tiếp tục bỏ phiếu thường xuyên (hoặc người dùng của bạn sẽ được hưởng hóa đơn điện thoại đẹp).
Tất cả đều rất liên quan đến nhau.
Bảo vệ
Mặc dù rõ ràng bạn có thể nghĩ rằng không có gì đặc biệt nguy hiểm có thể được thực hiện với JavaScript khi xem xét nó chạy trong môi trường trình duyệt, nhưng điều này là hoàn toàn sai sự thật.
Bạn có nhận ra rằng khi bạn truy cập P.SE và SO, bạn sẽ tự động đăng nhập nếu bạn đã đăng nhập vào bất kỳ mạng nào khác, phải không? Có một số JS ở đó. Mặc dù vậy, bit đó vẫn vô hại, nhưng nó sử dụng một số khái niệm có thể được khai thác bởi một số trang web xấu. Một trang web hoàn toàn có thể sử dụng JavaScript để thu thập thông tin về một số điều bạn làm (hoặc đã làm) trong phiên duyệt web của bạn (hoặc những điều trước đây nếu bạn không xóa dữ liệu phiên của mình mỗi khi bạn thoát khỏi trình duyệt hoặc chạy ngay bây giờ chế độ duyệt web ẩn danh / riêng tư rộng rãi) và sau đó chỉ cần tải chúng lên máy chủ.
Các lỗ hổng gần đây (hoạt động trong các trình duyệt chính vào thời điểm đó) bao gồm khả năng thu thập dữ liệu biểu mẫu đầu vào đã lưu của bạn (bằng cách thử kết hợp cho bạn trên một trang độc hại và ghi lại các văn bản được đề xuất cho mỗi kết hợp chữ cái bắt đầu có thể , có thể nói cho kẻ tấn công biết bạn là ai , nơi bạn làm việc và sinh sống ) hoặc để trích xuất lịch sử và thói quen duyệt web của bạn ( Một cách hack rất thông minh làm một việc đơn giản như tiêm liên kết vào DOM của trang để khớp với màu của liên kết và xem nếu nó được truy cập . Bạn chỉ cần làm cái này trên một bảng đủ lớn các tên miền đã biết. Và trình duyệt của bạn ngày càng nhanh hơn trong việc xử lý JavaScript, loại điều này được thực hiện nhanh chóng.)
Ngoài ra, đừng quên rằng nếu mô hình bảo mật của trình duyệt của bạn bị lỗi hoặc các trang web bạn truy cập không tự bảo vệ mình khi đủ sức chống lại các cuộc tấn công XSS, thì người ta có thể sử dụng JavaScript để truy cập vào các phiên mở của bạn trên các trang web từ xa.
JavaScript hầu như vô hại ... nếu bạn sử dụng nó cho các trang web đáng tin cậy. Gmail. Facebook (có thể ... và thậm chí không ...). Người đọc Google. Giao dịch cổ phiếu.
Nhưng vâng chắc chắn, JavaScript không thể tệ đến thế, phải không? Và có những điều đáng sợ hơn để sợ trực tuyến. Giống như nghĩ rằng bạn ẩn danh khi bạn thực sự không nhiều như vậy, như thể hiện qua thí nghiệm Panopticlick của EFF . Điều này cũng được thực hiện một phần bằng cách sử dụng JavaScript. Bạn thậm chí có thể đọc lý do của họ để tắt JavaScript để tránh dấu vân tay của trình duyệt .
Tất cả điều này đang được nói, có thể có những tình huống hoàn toàn tốt mà bạn không cần bận tâm về việc hỗ trợ JavaScript. Nhưng nếu bạn cung cấp một trang web dịch vụ công cộng, hãy xem xét chấp nhận cả hai loại khách hàng. Cá nhân, tôi nghĩ rằng rất nhiều ứng dụng web và trang web hiện đại sẽ hoạt động tốt như sử dụng mô hình nội dung do máy chủ cũ tạo ra mà không có JavaScript ở phía máy khách, và nó vẫn sẽ rất tuyệt và có thể ít tiêu tốn hơn.
Số dặm của bạn có thể thay đổi tùy thuộc vào dự án của bạn.