Thật không may, tôi không có câu trả lời, nhưng tôi có ba gợi ý cho các dự án mà bạn có thể xem.
Đầu tiên là Lively Kernel bởi Dan Ingalls (có, số Dan Ingalls) tại Sun Labs. Nó là một thực hiện của một thế giới ảo Smalltalk trong JavaScript trên đầu trang của SVG. Chính xác hơn, đó là việc thực hiện khung công tác Morphic GUI từ Squeak Smalltalk trong JavaScript bằng cách sử dụng SVG và một cổng (các phần của) Squeak Smalltalk trong JavaScript. Hoặc, nếu bạn không phải là Smalltalker và điều trên không có ý nghĩa với bạn: đó là Hệ điều hành, được viết bằng JavaScript với trình thông dịch JavaScript là CPU, SVG làm cạc đồ họa và trình duyệt làm máy vi tính.
Điều này cực kỳ hiệu quả khi nói đến JavaScript và SVG. Và chỉ có hoàn toàn hoạt động trong Safari 3 và một phần trong Firefox 3, mặc dù cũng có một cổng thử nghiệm cho Internet Explorer.
Dự án thứ hai là cổng Processing.js của John Resig của ngôn ngữ hiển thị Xử lý đối với JavaScript. Nó sử dụng các yếu tố <canvas>
thay vì SVG chính xác vì những vấn đề mà bạn đã đề cập. Tuy nhiên, điều này chỉ hoạt động trong Firefox 3.
Phần thứ ba là Real-Time 3D in JavaScript bởi Dưa chua vô dụng. Nó sử dụng chỉ JavaScript, DOM và CSS và không SVG hoặc <canvas>
hoặc Flash hoặc bất kỳ thứ gì. Và nó có thể di chuyển đến hầu hết mọi trình duyệt, bao gồm cả Internet Explorer 7 trở lên. Làm 2D sẽ dễ dàng hơn thế này.
Giữa ba dự án này, bạn sẽ có thể tìm thấy một số cảm hứng và tìm một số người đã cố gắng đẩy phong bì bằng JavaScript và SVG hoặc JavaScript và Đồ họa và có thể cho bạn biết những gì hiệu quả và những gì không.
Kết luận: làm qua trình duyệt SVG hoặc qua trình duyệt <canvas>
là gần như không thể, nhưng với một chút điên cuồng, đồ họa qua trình duyệt mà không cần SVG hoặc <canvas>
là có thể.
Nguồn
2008-08-28 22:00:41
http://code.google.com/p/explorercanvas/ là bản sửa lỗi cho phép canvas trên IE. Tôi đã sử dụng nó với các thẻ điều kiện MS IE làm việc một sự quyến rũ. –
Tôi đã viết câu trả lời đó gần một năm trước và chưa theo dõi sự tiến hóa kể từ đó. Vui lòng chỉnh sửa! –