2013-01-10 33 views
5

cách các nhà phát triển d3.js xử lý các trình duyệt không có khả năng hiển thị svg? Tôi rất tò mò vì Internet Explorer 9, 8, 7 vv có một thị phần lớn đáng gờm trong các phần quan trọng lớn của thế giới, nhưng dường như có một cộng đồng d3.js hoạt động như thể Internet Explorer không tồn tại.d3.js xử lý các trình duyệt không phải là svg

Mục đích của D3 là dành cho biểu đồ dữ liệu linh hoạt, do đó các chủ đề phức tạp có thể được hiển thị trực quan. Vì vậy, nhắm mục tiêu cảnh công nghệ cao nhất và giả vờ rằng mọi người khác cũng được nâng cấp từ trình duyệt mặc định của họ là loại cẩu thả.

Tôi đã nhìn thấy tờ New York Times cung cấp infographics jpg thay thế nếu trình duyệt cụ thể được phát hiện

Tôi cũng thấy một số điều mà nhằm mục đích làm cho một phía máy chủ D3 svg, và hiển thị một hình ảnh tự động tạo ra.

nhưng thực tiễn và tùy chọn được chấp nhận là gì? Tôi cảm thấy như thế này nên ở trên cùng của trang chủ D3

làm thế nào để bạn đối phó với nó?

+0

Các tùy chọn và thực tiễn được chấp nhận sẽ tùy thuộc vào trường hợp cụ thể của bạn. Ví dụ, bạn có thể sử dụng canvas thay vì SVG, nhưng sau đó bạn không nhận được hỗ trợ của IE. Việc hiển thị trước nó thành một hình ảnh có lẽ là hình ảnh mạnh mẽ nhất, nhưng không cung cấp cho bạn nhiều tính linh hoạt. –

+0

cảm ơn, @LarsKotthoff Tôi biết câu hỏi có thể đã được diễn đạt quá chủ quan đối với trang web này nhưng tôi có một số câu trả lời tuyệt vời – CQM

Trả lời

6

Thông thường, bạn có thể sử dụng một vùng chèn mạnh mẽ, như Raphael, để thực hiện công việc này nhưng bạn phải cuộn tay áo lên một chút. Có một vài dự án bắt đầu dọc theo những dòng này để làm cho nó liền mạch hơn, nhưng không có dự án nào sẵn sàng sử dụng ra khỏi hộp khi tôi hiểu nó.

Một số ví dụ:

1

D3 thực hiện một số lựa chọn hướng tới tương lai trong cách họ viết mã Javascript. Nó phụ thuộc rất nhiều vào các phương thức ECMAScript gần đây, chẳng hạn như Array.forEach(), để xử lý Javascript của nó, và không bù đắp cho sự thiếu hỗ trợ RGBA hoặc Hex cũ của IE (trong số các tính năng khác). Tôi không muốn nói nó là "dễ" hoặc "đơn giản", nhưng trên bề mặt có vẻ như nó có thể thêm vào hỗ trợ IE cũ hơn cho D3.js - CÓ THỂ không có quá nhiều rắc rối.

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