it-swarm-vi.com

Làm thế nào quan trọng là sự xuống cấp duyên dáng của JavaScript?

Các nhà phát triển web có nên tiếp tục dành nỗ lực tăng cường dần dần các ứng dụng web của chúng tôi bằng JavaScript, đảm bảo các tính năng giảm xuống một cách duyên dáng, từ đó đảm bảo khả năng truy cập? Hay chúng ta nên dành thời gian đó tập trung vào các tính năng mới hoặc các lĩnh vực phát triển khác?

Nội dung của câu hỏi đó sẽ là: Có bao nhiêu khách hàng/khách hàng/người dùng của chúng tôi sử dụng các trang web hoặc ứng dụng của chúng tôi bị tắt JavaScript? Bạn có bất kỳ dự án nào có yêu cầu đặc biệt yêu cầu chức năng JavaScript (hầu hết tất cả các yêu cầu của tôi không) và những yêu cầu đó cũng đòi hỏi sự xuống cấp duyên dáng?

Để đặt câu hỏi này, tôi đã lập trình viên lập trình.stackexchange.com mà không bật JavaScript và tôi được chào đón với thông báo này: "Lập trình viên - Stack Exchange hoạt động tốt nhất với JavaScript được kích hoạt". Rất khó để đăng nhập, mặc dù trang web dường như hoạt động tốt. (Tôi không thể bỏ phiếu cho bất kỳ câu hỏi nào.)

Tôi nghĩ rằng đây là một cách tiếp cận thỏa đáng để phát triển. Hãy tưởng tượng nỗ lực liên quan đến việc làm cho tất cả các tính năng của trang web hoạt động với logic cũ và logic phía máy chủ. Mặt khác, tôi tự hỏi có bao nhiêu người dùng đã bị xa lánh bởi phương pháp này.

Tất cả chúng ta đã được đào tạo (ít nhất là các nhà phát triển giỏi trong số chúng ta) để sử dụng cải tiến lũy tiến và để đảm bảo các tính năng động của ứng dụng web của chúng ta giảm xuống một cách duyên dáng. Đây có phải là sự cải tiến tiến bộ chỉ làm mưa làm gió hay một số khách hàng của chúng tôi thực sự sử dụng một số dịch vụ web nhất định mà không bật JavaScript?

89
Stephen

Tôi sử dụng NoScript nhưng đưa vào danh sách trắng bất kỳ trang web nào tôi thực sự có ý định sử dụng.

Khi bạn cài đặt NoScript, JavaScript, Java, Flash Silverlight và có thể các nội dung thực thi khác sẽ bị bị chặn theo mặc định . Bạn sẽ có thể cho phép thực thi JavaScript/Java/... ... một cách có chọn lọc, trên các trang web mà bạn tin tưởng. Bạn có thể cho phép một trang web chạy các tập lệnh tạm thời, nếu bạn chỉ lướt ngẫu nhiên hoặc vĩnh viễn, khi bạn truy cập nó thường xuyên và bạn thực sự tin tưởng nó. Điều này có nghĩa là NoScript học được từ thói quen trình duyệt của riêng bạn và có xu hướng biến mất trong nền sau một thời gian, nhưng nó sẽ nhanh chóng quay lại để cứu ngày của bạn nếu bạn vấp phải một trang web độc hại.

Khi bạn duyệt một trang web chứa các tập lệnh bị chặn, một thông báo, tương tự như thông báo được đưa ra bởi trình chặn cửa sổ bật lên, sẽ được hiển thị.
[.__.] Nhìn vào nó hoặc vào biểu tượng trên thanh trạng thái để biết các quyền NoScript hiện tại ...

http://noscript.net/noscript/ss0.png

52
John Straka

Tôi đoán tỷ lệ người không bật JavaScript là không đáng kể. Nhưng hãy cẩn thận với bot công cụ tìm kiếm! Họ thường không sử dụng JavaScript, nhưng bạn sẽ không muốn họ bỏ qua một số nội dung quan trọng của bạn vì điều đó, phải không?

93
Mladen Jablanović

Tôi luôn duyệt với JavaScript được kích hoạt và kể từ buổi bình minh của trình duyệt web.

Chưa bao giờ tôi có một vấn đề duy nhất làm giảm trải nghiệm trình duyệt của tôi. Có lẽ một vài cửa sổ bật lên hoặc những phiền toái khác, nhưng lợi ích vượt xa những rủi ro theo quan điểm của tôi.

47
JohnFx

Khi sử dụng bảng điều khiển trên Linux, đôi khi tôi sử dụng Lynx khi GUI không khả dụng. Theo hiểu biết tốt nhất của tôi, lynx không có hỗ trợ JavaScript nào cả.

Tôi cũng đã sử dụng các trình duyệt di động cũ kém hơn nếu có hỗ trợ JavaScript.

Tuy nhiên, trong những trường hợp đó, tôi không mong đợi có được khả năng sử dụng đầy đủ từ trang web. Tôi thường chỉ sử dụng Internet để tìm kiếm thứ gì đó một cách nhanh chóng (ví dụ: lấy số điện thoại). Do đó, tôi nghĩ rằng giao diện không phải là JavaScript của trang web của bạn nên được giới hạn ở vai trò tham chiếu thụ động. Stack Exchange là một ví dụ tuyệt vời về điều này, bạn có thể tra cứu câu trả lời, nhưng bạn không thể bỏ phiếu. Nó chỉ ở đó để được sử dụng như một tài liệu tham khảo.

23
Adam

Tôi thường xuyên lướt web từ trình duyệt web điện thoại thông minh của mình khi tôi không ở nhà hoặc văn phòng. Mặc dù nó hỗ trợ (ít nhất là một tập hợp con) JavaScript nhưng nó không luôn xử lý tốt. Tôi đã tìm thấy nhiều trang web không thể sử dụng được vì chúng tiêu tốn nhiều tài nguyên hoặc chỉ làm sập trình duyệt.

Tôi thích trình duyệt tích hợp, nhưng tôi giữ hai trình duyệt thay thế xung quanh trong trường hợp một trong số đó làm việc tốt hơn.

17
Kenneth Cochran

Một điều chưa được đề cập trong chủ đề này là những gì xảy ra nếu kịch bản của bạn bị hỏng. Trong nhiều trường hợp, việc thực thi thêm tập lệnh trên trang có thể bị vô hiệu hóa, do đó cần một cách để chuyển sang một cách đơn giản hơn để điều hướng.

Tập lệnh có thể bị hỏng vì nhiều lý do, nhưng tập lệnh rõ ràng nhất là các yêu cầu chưa hoàn thành đối với các tệp .js, các addon khác nhau có thể thay đổi DOM ( AdBlock , v.v.) hoặc giới thiệu các đối tượng không tốt đặt tên.

Điều này không có gì để làm với những người rõ ràng vô hiệu hóa tập lệnh hoặc bất cứ điều gì. Một lưu ý phụ, nhiều bộ định tuyến hiện đại, phần mềm tường lửa, v.v. thường có một tính năng để vô hiệu hóa/lọc tập lệnh, Flash, v.v. khỏi các trang web, do đó, nó thậm chí có thể được cấu hình trên một lớp mạng khiến người dùng không biết về điều này (nghĩ quán cà phê công cộng, trường học hoặc môi trường khác nơi những người hoang tưởng khác đã cấu hình truy cập Internet).

Đó thường là đối số chính của tôi để phát triển các trang web xuống cấp một cách duyên dáng, ít nhất là với chức năng cơ bản của trang web (bố cục và điều hướng).

13
jishi

Điều duy nhất mà tôi vô hiệu hóa JavaScript là thử nghiệm trang web của riêng tôi. Tuy nhiên, bạn có thể quan tâm đến một nghiên cứ rằng Yahoo đã làm điều đó tìm thấy giữa 1-2% người dùng đã tắt JavaScript. Đối tượng của Yahoo có lẽ là một đại diện khá tốt của người dùng trung bình.

Một trích dẫn quan trọng từ nghiên cứu:

Mặc dù 2% khách truy cập ở Hoa Kỳ có vẻ không nhiều, hãy nhớ rằng hơn 300 triệu người dùng truy cập Yahoo! trang chủ mỗi tháng. Điều đó có nghĩa là 6 triệu người dùng truy cập mỗi tháng mà không có lợi ích của JavaScript. Vì vậy, mặc dù nó đáng để bạn dành thời gian cho phiên bản trang web hỗ trợ JavaScript, nhưng vẫn có một lượng người dùng không hề nhỏ ngoài đó, những người đã giành chiến thắng có thể sử dụng nó.

12
VirtuosiMedia

Tôi sử dụng NoScript cùng với AdBlock Plus mọi lúc.

Web ngày nay quá thù địch (JavaScript xâm nhập + quảng cáo gây phiền nhiễu) để không được bảo vệ.

7
user8685

Tất nhiên, bạn đang nhận được một mẫu thực sự sai lệch ở đây, và bạn có thể làm tốt hơn để thực hiện nghiên cứu của riêng bạn trên trang web của riêng bạn.

Tôi, cá nhân, sử dụng NoScript. Tôi hiếm khi miễn cưỡng đưa danh sách trắng vào một trang web, nhưng nó có vẻ đáng để tôi làm như vậy. (Nói cách khác, tôi cần một lý do, nhưng nó không cần phải rất thuyết phục.)

6
David Thornley

Chỉ cần đọc Lập trình viên thực dụng "HTML5 và CSS3" . Tác giả cho biết 5% người dùng đã tắt JavaScript.

Đây là nguồn của anh ấy: Số chỉ mục bị vô hiệu hóa JavaScript của EU và Hoa Kỳ + Tác động thu thập dữ liệu Web Analytics .

Số chỉ mục bị vô hiệu hóa JavaScript

EU: 1,4%
[.__.] Hoa Kỳ: 3.05%

Nguồn: 1.000.000.000 lượt truy cập trên nhiều thuộc tính web của ngành bằng IndexTools.
[.__.] (VisualRevenue.com/blog - Dennis R. Mortensen)

http://visualrevenue.com/media/uploaded_images/JavaScript-Disabled-735171.JPG

Có vẻ như tỷ lệ phần trăm đang giảm quá.

5
Peter Turner

Hoặc một số người trong chúng ta thực sự sử dụng nhất định dịch vụ web mà không bật JavaScript

Đúng.

Trình duyệt của tôi rơi vào ba loại.

Duyệt bình thường - Trên Safari hoặc Chrome (Mac OS X)
[.__.] - iGoogle, Stack Overflow, một số blog

Đặc biệttrang web: - Firefox, với NoScript, AdBlock Plus và FlashBlock
[.__.] Các trang web có JavaScript nặng không cần thiết. (Một số trang web Ấn Độ cho phim/nhạc Bollywood, nếu điều đó quan trọng. Kịch bản nặng không cần thiết - trang tự tải lại sau mỗi 5 phút hoặc lâu hơn)

Duyệt web trên thiết bị di động :
[.__.] Tôi từng có một chiếc Nokia 5310. Mất nó. Bây giờ tôi có một Sony Ericsson W700i thậm chí cũ hơn. Tôi duyệt bằng cách sử dụng nó khi tôi đi du lịch (Opera Mini khá tốt). Đây là nơi (sự vắng mặt) JavaScript là một nỗi đau. Tôi không muốn tương tác với trang web (hầu hết), chỉ cần đọc. Tuy nhiên, hầu hết các trang web là không thể để xem.

5
Nivas

Tôi có xu hướng cài đặt NoScript và chỉ các trang web danh sách trắng mà tôi tin tưởng. Mặt khác, tôi sử dụng "cho phép tạm thời" cho các tên miền cụ thể khi tôi cần.

Đây chỉ là bảo mật tốt. Nếu không, bạn sẽ cho phép một lượng mã tùy ý chạy trên máy của mình! Ngay cả khi nó được hộp cát ... luôn có lỗ hổng.

Ngoài thói quen của riêng tôi, ngay cả khi hầu hết mọi người duyệt bằng JavaScript, việc phát triển các trang web với sự cải tiến tiến bộ vẫn rất hữu ích. Nếu trang web của bạn hoạt động ở mức cơ bản, nó có thể phục vụ đối tượng lớn nhất. Điều đó cũng có nghĩa là bạn tách dữ liệu của mình khỏi thiết kế trực quan và logic kinh doanh. Hầu hết những gì bạn làm với JavaScript ở phía máy khách dù sao cũng nên được thực hiện ở phía máy chủ - thực hiện phía máy khách sẽ chỉ là sự tiện lợi cho người dùng trang web.

Tất nhiên, có những trường hợp ngoại lệ sẽ yêu cầu JavaScript, nhưng nhìn chung có một kỳ vọng liên quan. Ví dụ: có một kỳ vọng để kích hoạt JavaScript cho Thảm họa BioLab , một trò chơi, nhưng không có gì cho một trang web như Một danh sách ngoài , chủ yếu chỉ là văn bản.

Khi tôi điền vào biểu mẫu, có thực sự có kỳ vọng rằng tôi đã bật JavaScript để gửi biểu mẫu không? Tại sao? Để mã JavaScript có thể kiểm tra để đảm bảo rằng tôi đã không nhập số thay vì chữ cái?

4
pbdiode

Theo tôi, khả năng tiếp cận hơn hẳn mọi thứ khác. Người dùng dựa vào công nghệ hỗ trợ sẽ luôn có thể có được hầu hết các chức năng của trang web, ngay cả khi có thể mất nhiều thời gian hơn. Không quan trọng có bao nhiêu phần trăm người dùng dựa vào vấn đề này. Tôi rất vui vì tôi viết mã cho một dự án web nguồn mở trong đó khả năng truy cập là một trong những trọng tâm chính và tôi thực sự tìm hiểu cách tôi có thể khiến mọi thứ xảy ra theo cả hai cách - có và không có JavaScript. (Và rất nhiều thứ khác liên quan đến khả năng truy cập, bởi vì JavaScript hay không thực sự chỉ là một phần nhỏ của vấn đề.)

Có một câu hỏi thú vị có câu trả lời từ người dùng của dự án mà tôi vừa đề cập đến công nghệ họ sử dụng tại đây . Nó có thể được quan tâm đến bạn.

3
pyvi

Tôi sử dụng Google Chrome + AdBlock Plus và bật JavaScript.

EDIT: Tôi sử dụng NotScript ngay bây giờ. :)

Chrome ALone chặn gần như tất cả các cửa sổ bật lên (Tôi chỉ tìm thấy một trang web [Chess.com] đã đột phá một lần) và AdBlock thoát khỏi tất cả các quảng cáo, vì vậy tôi không gặp vấn đề gì với những trang đó.

IMO, JavaScript cung cấp cho bạn "trải nghiệm tốt hơn" về tổng thể và miễn là bạn truy cập các trang web đáng tin cậy (chưa bị hack ...), bạn vẫn ổn. Là "người máy tính"/nhà phát triển, tôi tin rằng chúng ta nên có "ý thức internet" rất nhạy bén và có thể biết liệu một trang web có độc hại hay không.

3
Mateen Ulhaq

Javascript bị vô hiệu hóa theo mặc định đối với những người trong chúng tôi trên hộp Windows Server. Chính sách CNTT của chúng tôi chặn rất nhiều trang web, cách duy nhất để đọc một số nội dung là lướt trên máy chủ, nơi JS bị tắt theo mặc định.

Mặc dù đó không phải là cấu hình ưa thích của tôi, đôi khi đó là điều tôi phải làm.

3
goodguys_activate

Hmm, bây giờ tôi cảm thấy như Người đàn ông Omega . :) Rõ ràng tôi là cuối cùng người thực sự biến JavaScript (và cookie) tắt. (Trừ khi tôi cần nó cho một trang web cụ thể như, giả sử, Stack Overflow.)

Tôi nghi ngờ tôi thiếu nhiều - thường là khi tôi do bật JavaScript cho một trang web, nó làm gì đó hoàn toàn vô dụng, như cho phép tôi phun ra hàng tấn thông tin cá nhân cho toàn bộ người lạ hoặc hiển thị cho tôi một số quảng cáo chuyển động - chỉ những gì tôi muốn, một số chuyển động ngẫu nhiên trên màn hình trong khi tôi đang cố gắng tập trung đọc một bài báo ...

2
Cyclops

Tôi làm. NoScript tất cả các cách. Tôi sẽ thoát khi trình duyệt được sandbox, và không phải trước đó.

2
Satanicpuppy

Tôi vừa trả lời một câu hỏi trên AskUbfox.com - tôi phải (tạm thời - tại thời điểm này) kích hoạt JavaScript trên trang web. Tôi sử dụng NoScript và kích hoạt JavaScript cho một trang web khi tôi nghĩ nó rõ ràng - nhưng không phải cho đến khi. Theo mặc định, JavaScript tắt cho các trang web tôi chưa truy cập trước đây.

2
Jonathan Leffler

Mọi người cứ nói về quyết định này như thể nó là nhị phân. Bạn có thể xuống cấp một cách duyên dáng hoặc bạn không. Thay vào đó, tại sao bạn không xem xét các chi phí so với lợi ích của việc xuống cấp một cách duyên dáng cho từng tính năng riêng lẻ? Ví dụ: bạn có thể đảm bảo trang web có chức năng cơ bản, nhưng vẫn yêu cầu Javascript để ai đó sử dụng các tính năng cụ thể.

Cũng nên nhớ rằng nhiều người vô hiệu hóa Javascript làm như vậy bởi vì họ muốn sử dụng một trang web nhẹ, bị loại bỏ chỉ với các yếu tố cần thiết. Bạn có thể dành tất cả thời gian đó để làm cho chuông và còi của bạn hoạt động cho những người dùng đang cố gắng tránh chúng.

Mọi người phàn nàn rằng đó là quá nhiều công việc để xuống cấp duyên dáng. Nếu bạn đang phàn nàn về mức độ hoạt động của nó, thì có lẽ bạn đang làm việc trên một tính năng đáng để yêu cầu Javascript.

Theo ý kiến ​​của tôi, người dùng không có Javascript sẽ luôn có thể điều hướng trang web, sử dụng trang liên hệ và đọc bất kỳ bài viết hoặc bài đăng blog nào bạn có. Đối với bất kỳ chức năng phức tạp hơn, hãy thực hiện một cuộc gọi phán xét dựa trên công việc và lợi ích liên quan.

2
lala

Chiến lược và kế hoạch trang web là trường hợp cụ thể. Nghĩa là, một trang web hoàn toàn không cần hỗ trợ IE, hãy để ý suy nghĩ về các vấn đề nhỏ như hỗ trợ bán kính đường viền của CSS3. Nhưng các trang web khác có thể thậm chí cần phải tương thích ngược lên tới IE6.

Làm thế nào chúng ta có thể hiểu những gì chúng ta phải lập kế hoạch cho một trang web? Một phần từ kinh nghiệm của chúng tôi. Các trang web nhắm mục tiêu đến các lập trình viên và nhà phát triển có thể chắc chắn rằng người dùng của họ sử dụng các trình duyệt cập nhật và khá mới với hầu hết tất cả các tính năng được bật. Tuy nhiên, các trang web tin tức nên nghĩ rằng ai đó từ một nơi không xác định trên trái đất có thể kết nối với trang web của họ để xem những gì đang qua trong nước của anh ấy/cô ấy.

Nhưng bên cạnh kinh nghiệm và trực giác của chúng tôi, chúng tôi cũng cần cài đặt một số loại phân tích dịch vụ trên trang web của chúng tôi, để các quyết định trong tương lai của chúng tôi sẽ mạnh mẽ hơn, dựa trên dữ liệu thống kê. Ví dụ: Google Analytics là một công cụ rất tốt. Từ đó, bạn có thể xem liệu bạn có thực sự cần hỗ trợ các trình duyệt cũ hơn hay không.

Tuy nhiên, nếu chúng tôi muốn tuân theo Nguyên tắc truy cập web từ W3C, thì chúng tôi chắc chắn nên hỗ trợ rất nhiều thứ, mà không cần xem xét các trường hợp cụ thể theo trang web.

Trong trường hợp đặc biệt của bạn, tôi nói rằng không. Chúng ta có thể quên một cách an toàn về việc không có tập lệnh trong các trang web vừa và nhỏ. Nhưng đối với các dự án lớn hơn, việc đưa thêm một chút đánh dấu vào các trang của bạn là một ý tưởng không tồi.

1
Saeed Neamati

Nếu người khuyết tật có thể sử dụng trang web của bạn, thì nên đảm bảo rằng có một bản sao lưu cho JavaScript.

1
nkassis

Tôi chỉ bật nó để duyệt Pr0n (khu phố xấu!) ;-)

Tôi đã từ bỏ việc cố gắng tắt nó để duyệt thường xuyên vì mọi thứ đã phá vỡ quá nhiều. Và đôi khi tôi thậm chí không biết rằng nó đã bị hỏng cho đến khi tôi bật lại.

1
nate c

Đừng quên cookie. Tôi coi cookie là nguy hiểm hơn JavaScript. Tôi đã từng là một người dùng NoScript, nhưng tôi đã tắt nó để ủng hộ các trang web cookie trong danh sách trắng.

0
Brad Clawsie

Tôi không thể quyết định liệu một số câu trả lời về chủ đề này là vui nhộn hay nghiêm trọng: cookie nguy hiểm hơn javascript? cười lớn

Bất kỳ trang web nào cũng nên được kiểm tra với js và cookie đã bị tắt, tuy nhiên, đó là một imho tối thiểu.

0
wildpeaks

Tôi luôn có JavaScript. Tôi cũng luôn có bộ phục hồi tối thiểu, ở bên cạnh.

Chúng tôi cần vô hiệu hóa quyền phủ quyết dòng JavaScript, vì vậy tôi có thể nói "không cảnh báo, không chuyển hướng, không có websockets". Chức năng là trong WebKit ít nhất, đánh giá từ bảng điều khiển và các thanh tra khác nhau.

Nhưng vâng, luôn luôn bật JavaScript. Chủ yếu là vì rất sớm mọi người sẽ sử dụng các ổ cắm web để tiêu diệt tất cả các loại tội lỗi, giống hệt như những gì đã xảy ra khi Flash có VM "tuyệt vời". Sau đó, tôi sẽ tắt JavaScript. Nếu họ cho tôi tất nhiên.

Tôi muốn tận hưởng nhiều thứ tốt nhất có thể. Vì vậy, tôi có một số kỷ niệm dễ chịu của thời đại này. Tôi muốn được ấn tượng, tôi muốn cười khúc khích với những người theo dõi JavaScript, bởi vì tôi thực sự nhớ những gì chúng ta đã có trong năm 2007, dòng thông tin ngọt ngào miễn phí như nước suối, nguồn mở ở khắp mọi nơi.

Tôi sẽ không tắt nó cho đến khi tôi phải.

0
chiggsy

Khởi động từ đĩa CD/DVD trực tiếp (vật lý hoặc trong máy ảo) giúp tôi cảm thấy tốt hơn rất nhiều khi cho phép Flash và JavaScript thực hiện công việc của mình. Nếu tôi nhớ chính xác Linux Mint có hỗ trợ Flash ngoài hộp.

Theo như phát triển trang web, tôi thường thực hiện một số lượng hoán đổi div và menu hợp lý trong JavaScript, nhưng tôi cố gắng làm cho mọi thứ trông ổn và về cơ bản hoạt động với CSS.

0
RobotHumans

Chỉ khi khách hàng yêu cầu rõ ràng

Trừ khi bạn có một số lượng đáng kể người dùng sẽ được thực hiện, đó chỉ là nỗ lực thêm.

0
Darknight