2009-05-13 56 views

Trả lời

5

sparklines example trên trang processing.js exhibition sử dụng ExplorerCanvas. Nó có vẻ như nó chỉ là một giải pháp drop-in, không cần thêm mã hóa.

+0

Cảm ơn, điều đó rất hữu ích. Dường như ví dụ sparklines có phương thức onload riêng của nó, trong khi các ví dụ khác sử dụng một số kiểu init.js, có vẻ như không hoạt động trong IE + excanvas – meleyal

1

This page mô tả cách để xử lý các tệp exc.jml + processing.js + cùng nhau.

Về cơ bản, nó liên quan đến việc viết phương thức init onload của riêng bạn mà IE có thể hiểu được.

+0

Thật không may mặc dù nó hoạt động, việc sử dụng VML IE dường như không hỗ trợ một số công cụ thiết yếu. Nếu bạn đang chuyển một ứng dụng xử lý, đừng mong đợi nhiều hơn ngoài việc vẽ đường 2D từ IE: ( – meleyal

+0

Thảo luận về Nhóm Google về processing.js + excanvas - http://bit.ly/vQZjg – meleyal

7

Có thể thực hiện! Có một số gotchas, tuy nhiên. The page htxt links to là tốt, như xa như nó đi, nhưng xin lưu ý những điều sau đây:

1) Cả hai yếu tố kịch bản và canvas phải có thuộc tính id. Hàm init sử dụng các thuộc tính id này để liên kết một tập lệnh đã cho với một khung hình đã cho. Tôi đã tìm thấy hàm init đơn giản dễ hiểu hơn hàm chính thức. Bạn sẽ muốn làm chủ chính thức nếu bạn có nhiều khung vẽ trên một trang.

2) Nếu bạn sử dụng chỉ định màu theo phong cách internet, như # 23ff9a, hãy chú ý! IE 8 muốn tất cả các số màu thập lục phân của trường hợp trên từ Processing.js/canvas. Viết # 23FF9A! Đây là những gì tài liệu cho thấy, vì vậy nó không phải là một bất ngờ hoàn toàn. Lỗi là một điều đôi khi, làm cho nó điên để tìm ra. Chủ yếu, số lượng lớn hơn (cho màu sắc nhẹ hơn) với nhiều f dường như bị ảnh hưởng. Trắng, #ffffff, là OK, nhưng # ff00ff thì không. Firefox và Safari phân biệt chữ hoa chữ thường trong vấn đề này. documentation cho biết bạn có thể sử dụng ký hiệu hex thay thế với kênh alpha (CC) trông giống như 0xCC006699. Điều này không hiệu quả với tôi; có thể nó nằm trong danh sách việc cần làm.

3) Phương thức .equals() trên chuỗi bị thiếu! Andor Salga, một trong những phi hành đoàn trường Cao đẳng Seneca làm việc trên Processing.js, đã viết một chuỗi boolean đơn giảnEqual (str1, str2) chức năng bạn có thể xem here. Điều này sẽ làm cho đến khi vấn đề được xác định dứt khoát.

4) Không đúng là đột quỵ() không hoạt động với excanvas.js. Nó có. Tuy nhiên, nếu mã Processing.js của bạn thậm chí còn có một lỗi cú pháp nhỏ (tôi không thể phân loại các loại nào, nhưng cố gắng sử dụng .equals() sẽ làm điều đó), thường trình của bạn có thể sẽ bị lỗi trong IE8, trong khi đó, trong Safari hoặc Firefox, hình chữ nhật của bạn có thể bị mất đường viền của chúng, tức là đột quỵ() sẽ ngừng hoạt động. IE trên Vista, và Safari trên Mac, có cả hai thể hiện kiểm tra cú pháp mạnh hơn so với Safari hoặc Firefox trên Vista, mà sẽ thổi bởi các lỗi nhất định và làm cho một đồ họa bị lỗi.

5) Văn bản, được gọi bằng hàm text(), hiển thị trong Firefox (trong phông chữ không thể thay đổi được chọn của Firefox), nhưng, theo như tôi có thể biết, không có trong IE8 hoặc Safari. Phương thức Glyph được đề xuất here. Mã được đặt ra, nhưng việc nhận các phông chữ trông giống như một vấn đề. Inkscape trông khá khó hiểu với tôi. Theo như tôi có thể nói, những gì cần thiết là rất nhiều giống như phông chữ bút-plotter cũ - một con đường vector với các lệnh pen-up và pen-down giữa các lần chạy của các nút. Hóa ra FSF/GNU có một số có thể được mát xa vào đúng định dạng mà không gặp quá nhiều rắc rối. Tôi không biết định dạng được định nghĩa ở đâu, nhưng có lẽ nó ở trên W3C ở đâu đó. Cách tiếp cận với tiềm năng thực sự cho các phông chữ có thể trình bày là cánh IE/VML của Cufon. Xem How does it work? Tôi thực sự muốn liên kết cuối cùng này trong chuỗi, nhưng tôi có thể sử dụng một số trợ giúp.

Processing.js là một cá voi của một dự án xứng đáng được hỗ trợ của chúng tôi. Nó có tiềm năng to lớn. Tôi sẽ khuyến khích bạn quảng cáo chiêu hàng nếu bạn có thể.

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