2009-11-17 30 views
21

Thông tin cơ bản: Tôi đang làm việc trên trang web thương mại điện tử. Đó là ý định ban đầu của tôi để thêm JavaScript vào đầu trang html thông thường, để người dùng có hỗ trợ JS có thêm lợi ích, nhưng người dùng không có nó vẫn có thể sử dụng biểu mẫu html cơ bản để thêm thứ vào giỏ hàng của họ, để tìm kiếm, v.v.Phát triển web: Chúng tôi vẫn cần hỗ trợ người dùng không phải là javascript không?

Mặc dù vậy, tôi đã gặp phải một vài tình huống, nơi đơn giản không phải là cách sane để triển khai chức năng nhất định theo cách không phải là JavaScript.

Một ví dụ là chọn thuộc tính chuỗi trên các trang sản phẩm (nơi lựa chọn màu sắc thay đổi dựa trên kích thước đã chọn, vì không phải tất cả các kích thước đều có màu). Ngay cả khi tôi không sử dụng AJAX, nó vẫn sẽ yêu cầu JavaScript để tự động thay đổi các tùy chọn.

Các phương án duy nhất để Javascript mà tôi có thể nghĩ đến sẽ là:

A. Có một add vào giỏ hàng "phù thủy", nơi bạn cần phải bước qua từng thuộc tính lựa chọn trên một trang riêng biệt (yuck!)

B. Đặt từng kích thước/màu biến đổi thành một sản phẩm riêng biệt (và buộc khách hàng lội qua trang danh mục để tìm tổ hợp kích thước màu mà họ muốn)

... Và khi cả hai bên trên sẽ công việc bất kể người dùng có JavaScript hay không, cả hai đều trừng phạt người dùng JavaScript bằng cách tái cấu trúc trang và forci ng họ sử dụng một giao diện được thiết kế cho mẫu số chung thấp nhất. Vì vậy, câu hỏi đặt ra là, vì JavaScript đã có vai trò lớn hơn nhiều trong phát triển web so với một vài năm trước và mẫu thiết kế cho ứng dụng/trang AJAX/JS giờ khác nhiều so với 'cổ điển' mẫu thiết kế web, chúng ta vẫn đi theo cách của chúng tôi để hỗ trợ người dùng không JS? Hay chúng ta nói, "Hãy đến với bạn! Cập nhật trình duyệt của bạn, bật JavaScript hoặc đi mua sắm ở nơi khác"?

Tôi muốn được quan tâm để xem các nhà phát triển khác thực hiện việc này.

Trả lời

15

Tôi nghĩ điều đó thực sự phụ thuộc vào đối tượng mục tiêu của bạn. Tôi làm việc cho một công ty có nhiều loại trang web, một số công ty tập trung vào chàng trai hay cô gái của bạn vào trò chơi. Và số liệu thống kê của chúng tôi cho thấy rằng số lượng lớn lớn nhất đa số những người này đã bật javascript.

Chúng tôi cũng có một trang web tập trung vào các nhà phát triển và nhiều nhà phát triển này sẽ không cho phép javascript chạy trên trang web trừ khi họ tin tưởng. Tôi đã thấy có tới 20-30% trình duyệt trên trang web đó không chạy javascript.

Vì vậy, nó rất chủ quan.

IMHO, rất hợp lý khi sử dụng số lượng lớn trang nhã javascript để nâng cao trải nghiệm khác thường. Tuy nhiên, tôi cũng nghĩ rằng khi có thể, nó nên làm suy giảm một cách duyên dáng. Hình thức thoái hóa này không phải là quá khó để đạt được (trong hầu hết các trường hợp) miễn là bạn xem xét nó khi bạn đang thiết kế mọi thứ.

+6

Có thể nói với ai đó đang gặp sự cố "tắt javascript, làm theo hướng dẫn và chỉ hoạt động" là giải pháp tạm thời tuyệt vời để họ có thể hoàn thành công việc và thực sự có thể khắc phục sự cố mà không cần " toàn bộ trang web bị hỏng! toàn bộ tổ chức bị tê liệt! " Vì vậy: thoái hóa hoặc phá sản duyên dáng. –

+1

Tôi đồng ý rằng điều này rất quan trọng, tất nhiên với một số ứng dụng, một yêu cầu của javascript chỉ làm cho những điều có thể xảy ra hơn. Giống như bản đồ google. –

+0

Tôi hoàn toàn đồng ý. Cách tốt nhất để tiếp cận một cái gì đó như thế này là sử dụng javascript không phô trương. –

4

Nếu bạn có thể loại trừ người dùng không sử dụng javascript, vì vậy đây sẽ là một số thiết bị di động hoặc người dùng thực sự hoang tưởng, cũng như người dùng lynx và bất kỳ người dùng nào không sử dụng phiên bản javascript bạn viết.

Nếu bạn sẵn sàng thực hiện điều đó thì tôi khuyên bạn nên có một trang html tĩnh có một số thông báo javascript là bắt buộc.

Khi javascript của bạn được tải và cây DOM đã sẵn sàng thì bạn có thể thay thế thông báo này, vì vậy nó không bao giờ được thấy, với phần còn lại của trang web.

Nhưng, bạn có thể muốn xem cách bạn có thể nhận được chức năng, ngay cả khi bị giới hạn, đối với các trình duyệt không phải là javascript.

Ví dụ, đối với màu sắc bạn có thể sử dụng một danh sách thả xuống ngang có thể làm việc trên tất cả trình duyệt cũ hơn IE: http://www.alistapart.com/articles/horizdropdowns/

Nếu bạn muốn sử dụng javascript để làm cho cuộc sống của bạn đơn giản hơn thì đó có thể là một lý do nghèo, nhưng , nếu bạn đang làm một webapp photoshop thì bạn sẽ cần javascript.

LƯU Ý Tôi khuyên bạn nên làm việc với JavaScript mà không cần javascript vì trang web thương mại điện tử sẽ không loại trừ bất kỳ khách hàng nào.

2

Phần lớn tùy thuộc vào đối tượng của bạn. Như bạn đã nói nhiều năm trước, JavaScript được sử dụng theo một cách khác, và thậm chí một chút phiền toái. Bây giờ với AJAX và tăng chức năng đó là phải, và hầu hết mọi người có nó bật.

Bạn có thể nói rằng ai đó có Javascript bị vô hiệu hóa được sử dụng để nội dung không hoạt động khá thường xuyên và một số ít người. Tuy nhiên, nếu bạn đang xây dựng một trang web sẽ được thường xuyên bởi các máy tính cũ hoặc những người có băng thông hạn chế (chẳng hạn như lưu lượng nước ngoài), bạn có thể muốn xem xét làm việc xung quanh chúng. Ngoài ra, trang web được truy cập nhiều bởi trình duyệt trên điện thoại di động có thể là một trang web khác cần tập trung vào.

Hãy xem số liệu phân tích của bạn và xem mức sử dụng hiện tại là gì và lập hồ sơ để khán giả thực sự tìm hiểu.

2

Câu trả lời hay nhất sẽ phụ thuộc vào so sánh đơn giản: Ước tính số tiền thừa bạn sẽ chi tiêu để tạo trang web thay thế không phải javascript. Ước tính số tiền bạn sẽ làm cho bán sản phẩm cho khách hàng không bật javascript của bạn. So sánh. Nếu bạn là một cửa hàng lớn, thì việc bán hàng từ 2% hoặc 10% người dùng cuối cùng có thể đáng giá. Nếu bạn chỉ là một anh chàng, có thể bạn có nhiều cách sinh lợi hơn để dành thời gian của bạn.

5

Tôi nghĩ rằng việc hỗ trợ người dùng không phải Javascript cần thiết cho bất kỳ trang web nào nhắm vào một nhóm mục tiêu "bình thường" (nghĩa là không phải người chơi hay người yêu thích).

  • Ngày càng có nhiều thiết bị di động truy cập và cố gắng phân tích cú pháp, nội dung thông thường.
  • Nhiều mạng công ty vẫn chặn tập lệnh vì lý do bảo mật - bạn cũng không muốn mất việc mua sắm của nhân viên.
  • Javascript có xu hướng vặn bất kỳ nỗ lực nào vào khả năng truy cập. Trong tâm trí của tôi, tạo ra các trang web có thể truy cập càng tốt là một dịch vụ cho con người đồng bào của chúng tôi.

Tôi không nói tôi là hoa huệ trắng. Tôi ghét chức năng sao chép mà tôi vừa quản lý để đạt được trong khung công tác JS của tôi trong HTML tĩnh hoặc làm cho nó trở nên kém hiệu quả. Nhưng tôi nghĩ nó vẫn thực sự, thực sự là phải, và không chỉ đơn thuần là một câu hỏi về lợi nhuận. Đây là một cái gì đó đáng để đầu tư thêm một chút, hoặc đặt một chút công việc chưa được trả tiền vào.

+1

Khả năng truy cập cũng là một dịch vụ cho các rô-bốt đồng nghiệp của chúng tôi, ví dụ: Google. –

13

Khi nói đến những thứ như Ajax, hoặc bất kỳ javascript cho rằng vấn đề, tôi nghĩ cách tốt nhất là:

Kế hoạch cho Ajax từ đầu; Triển khai Ajax ở cuối - Jeremy Keith

Điều này có nghĩa là các liên kết và biểu mẫu bị chặn (không phô trương) làm cho mã của bạn bị làm suy giảm tốt cho những người không bật javascript. Nếu bạn muốn hiển thị thanh trượt lạ mắt, hãy đặt liên kết cho máy chủ hiển thị div khi bạn tải lại trang và yêu cầu javascript của bạn làm điều gì đó khác khi liên kết được nhấp.

Những ý tưởng này là đặt cược an toàn nhất cho trang web chức năng nhưng thú vị.

0

Mặc dù có vẻ hợp lý, tiến bộ, đơn giản hơn và hiệu quả hơn để yêu cầu Javascript cho trang web thương mại điện tử, bạn nên tự hỏi mình có muốn từ bỏ x phần trăm doanh nghiệp sẽ được tạo ra bởi người dùng không phải Javascript hay không và cân nhắc điều đó với chi phí phát triển thấp hơn.

Phần trăm doanh nghiệp bị mất có thể không phải là phần trăm người dùng không sử dụng Javascript, bởi vì tỷ lệ phần trăm nhỏ hơn khách truy cập không phải Javascript có khả năng mua hàng là dịch vụ. Phần trăm doanh nghiệp bị mất có thể sẽ ít hơn phần trăm người dùng không sử dụng Javascript.

1

Về lý thuyết, có; nhưng trong thực tế, không.

Về lý thuyết, tinh thần web hỗ trợ phần cứng và phần mềm với một loạt các khả năng và cấu hình, mở rộng các tính năng của trang web một cách thích hợp.

Trong thực tế, ngay cả các trình duyệt trên thiết bị di động cũng đang hội tụ trên điểm ngọt được chiếm bởi các trình duyệt máy tính để bàn lớn hiện tại. Người dùng ở bên ngoài thường có thể chuyển sang một trình duyệt hoặc thiết bị thay thế bằng một chụm.

14

Người dùng không sử dụng javascript quan trọng nhất là Google. Không được quên điều đó đấy.

+0

+1 http://www.peterbe.com/plog/google-is-blind –

+0

Ý của bạn là chính xác? Google có phải là người dùng không? ':-)' – Shafizadeh

0

tập trung vào làm cho tính năng nâng cao cho đối tượng lớn là tốt hơn là dành thời gian để tìm việc xung quanh cho người dùng không sử dụng javascript và những người sử dụng nền tảng lỗi thời.

0

Theo tôi có 2 điều bạn phải cân nhắc khi nghĩ về việc sử dụng Javascript trên một trang web:

  • là Google vẫn có thể thu thập tất cả các nội dung
  • Nếu một số phần của trang web là không sử dụng được mà không có JavaScript, sau đó tạo một thông điệp rất rõ ràng cho người dùng không phải JavaScript, tại sao trang web của bạn không hoạt động cho họ
2

Tôi thấy bài đăng thú vị và thực tế này có thể hữu ích. Why we should support users without Javascript. Sau đây là tóm tắt:

  1. Một số người chọn tắt JS.
  2. JS thỉnh thoảng không thành công, HTML/CSS thì không.
  3. JS được thiết kế và phải là đóng băng trên bánh chứ không phải là bản vá cho HTML/CSS không hợp lệ.
+0

+1 Bài đăng tuyệt vời, tổng hợp tất cả mọi thứ tôi đã cố gắng đưa vào các từ vững chắc trong nhiều năm. Đã thêm một TL; DR tóm tắt bài đăng vào câu trả lời của bạn; cảm thấy tự do để chỉnh sửa hoặc whatev. –

0

Tôi nghĩ rằng chúng ta cần phải hỗ trợ người dùng không có javascript lại.

Có những người dùng bao gồm tôi, những người không tắt JS vì bất kỳ loại hoang tưởng nào, nhưng vì một số trang web quá nặng nề đến mức trình duyệt của tôi bị chậm lại. Và điều này ngày càng trở nên tồi tệ hơn, vì vậy tôi mong đợi nhiều người dùng hơn sẽ làm điều này cuối cùng. Tôi muốn hiệu suất của tôi trở lại vì vậy tôi đã cài đặt các plugin trình duyệt cho phép tôi chọn lọc chỉ các tập lệnh hoàn toàn cần thiết trên trang web. Vì vậy, tôi có thể có hàng tá tab mở lại mà không gặp sự cố về hiệu suất.

Các vấn đề liên quan