Tạo các scrip làm việc trong mọi trình duyệt

  • Số trang: 178 |
  • Loại file: PDF |
  • Lượt xem: 82 |
  • Lượt tải: 0
tranvantruong

Đã đăng 3224 tài liệu

Mô tả:

tạo các scrip_làm việc trong mọi trình duyệt
168 Chương 7: Tạo các script làm việc trong mọi trình duyệt Tọo cóc script làm việc trong mọi trình duụệt T ro n g ch ư ơ n g n à y b ạ n sẽ h ọ c n h ữ n g đ iểm ch ín h sa u đây: B Tìm hiển các điểm khác biệt của trình dĩiyệt K Phát hiện loại trình dĩiyệt nào mà người dừng đanq chạy B Tnty 1 ’ấn mồ hình Ỳài liêi/ B Tuân theo các chuẩn web M Viết mã nhiều trình duyệt rong những ngày đầu p h át triển JavaS cript, việc xử lý những sự b ất thường giữa những n h à sản xuất trìn h duyệt và các phiên bản khác nhau đã là m ột công việc khó khăn. Sau cùng, m ột số trìn h duyệt đã không hỗ trợ JavaS cript gì cả (như N etscape 1.0). Thậm chí nếu bạn có m ột trìn h duyệt hỗ trợ JavaS cript, mô h ìn h tài liệu (DOM) nền tản g là khác nhau giữa các trìn h duyệt khác nhau, nghĩa là các lỗi Jav aS crip t rấ t phổ biến. T Sự khó k h ăn này của việc p h át triến m ã Jav aS crip t vôn đã làm việc chính xác trong mọi trìn h duyệt đã xảy ra chủ yếu do m ột sô" yếu tố: K Các phiên bản trình duỵệt mới cách vài tháng * Một cuộc cạnh tranh đang diễn ra giữa các công ty trình duyệt để thêm các tính năng mới Chương 7: Tạo các script làm việc trong mọi trình duyệt __________________ 169 M Thiếu một cktiẩn HTML h(,át JavaScript M ất m ột số thời gian, nhưng cuối cùng các vân đề b ắ t đầu biến m ất khi Jav aS crip t ổn định. Và khi người dùng bắt đầu dần dần nâng cấp lên các trìn h duyệt phiên bản 4.0 trở lên, các nhà phát triển JavaS cript có thời gian dễ dàng để p h át triển mã tương thích nhiều trìn h duyệt. T h ật không may, m ột số thay đối sắp tới đối với Jav aS crip t sẽ buộc các iilià p h á t triều v/eb p h ả’ tắ t đầu vLế'., 1-iã lại cho các điểm khác biệt của trìn h duyệt. Các lý do cho thời điểm không ổn định mới này có th ể bao gồm: M Sự hỗ trợ không nhất quán cho JavaScript 2.0 R Các phiên bản trình duyệt mới cácr? ìibau J’ải tháng (cụ thể từ Mozilla) m Sự hỗ trợ trôn JavaScript không nhất qỉián cho nhũng công nghệ mới, chẳng ban nhítXML và css Chỉ có thời gian mới cho biết những yếu tố này sẽ khiến cho các nhà p h át triể n web phâi đau đầu như th ế nào. Tìm h iểu các điểm khác biệt cua trình duyệt Theo m ột C U Ộ I , khảo sát gầii (iây, Microsoft In te rn e t Sxploie) (IE) được sử dụng bởi khoảng 94% những người lướt web. N etscape và Mozilla có một mức sử dụng khoáng 2%. 4% còn lại được phân chia giữa những công ty khác chẳng h ạn như Opera hoặc bị m ất do làm tròn. Nl-ững cor số nAy có vhổ vh;iy đổi trong cấc tháag- và n:\rn ¡’ắp tớK N hà cuug cấp dịch vn.. in te rn e t (ISF) lớn nhất r Mỹ gần đây đã thông báo nó sẽ b ắ t đầu sử dung Netscape làm trìn h duyêt mặc định cùa nó và có th ể có tác động lơn đối với nhừng con số này. ĩ*Th'in kỹ h t r n ệ t chút £ố liôu th o o f kê V‘1 tín h th cn g d ụ n f trìnb duyệt gần đây như trong bang 7.1, chung ta có th ể th ầv răn g một nửa những người lướt \veđ đã chưa nâng cấp lên các phiên bản gần đây của các trin h đuyội- web .jfu tiên họ 54% những người lướt web sử đụnEí các trìn h duyệt không phải là phiên bản mới n h ất "';ừ Microsoft hoặc Netscape. Do đó hãy cẩn thận khi tạo các chương trìn h JavaScript phụ thuộc quá nhiều vào các tính năng độc quyền hoặc các tín h năng mới được bổ sung. Sử dụng các tính năng m à không áp dụng những biện pháp phòng ngừa toàn bộ có th ể gây ra các lỗi cho một phần khán giả đáng kể th ậm chí nếu ứng dụng hoạt động tố t trong trìn h duyệt được cài đặt trê n PC. C ác loại lỗi có thể xảy ra? Khi th iế t k ế bất kỳ chương trìn h máy tính, điều quan trọng là phải ghi nhớ rằ n g các lỗi có th ể xảy ra bất kể nhà lập trìn h cô" gắng h ế t m ình để trá n h chúng. Điều này đặc biệt đúng đối với các chương trìn h JavaScript 170 Chương 7: Tạo các script làm việc trong mọi trình duyệt được sử dụng qua nhiều trìn h duyệt và hệ điều h à n h khác nhau. Khi p h át triể n m ã JavaS cript, bạn có th ể tìm th ấ y các nguồn lỗi sau đây: B Nhĩing điểm khác biệt trong D ocum ent Object M odel của mỗi phiên bản trình duyệt R Các m áy tính client chạy các trình duyệt cũ (chẳng h ạ n n h ư Netscape 3.0) không hỗ trợ chức năng JavaScript nhất đ ịn k B Các m áy tính client có những công nghệ n h ấ t địnb được tắt, chẳng hạn n h ư cookie hoặc Java B Các công nghệ được bật web mới, chẳng h ạ n n h ư các thiết bị xách tay, thiết bị di động, hoặc thậm chí các thiết bị gia dụng, chẳng hạn rưrntủ lạnh Chương này sẽ xem xét m ột sô" kỹ th u ậ t chung để trá n h những loại lỗi này. Bảng 7.1 Thông sỗ' kỹ thuật sử dụng trình duyệt web gần đây Trình duyệt IE 6 IE 5 IE 4 Netscape 4 Netscape 6, Netscape 7, Mozilla (gộp chung) IE cũ Netscape cũ hơn Mức sử dụng 46% 44% 2% 2% 1% nhỏ hơn 1% nhỏ hơn 1% Phái hiện ỉoại trinh duyệt nào mà ngưừi dũng đang chạy Chạy m ột chương trìn h JavaS cript hiện đại hoặc phức tạp trong m ột trìn h duyệt cũ hơn có th ể gây ra vô số sự số. Có lẽ cách dễ n h ất để trá n h những loại lỗi này là p h át hiện loại trìn h duyệt nào m à người dùng đang chạy và sau đó tắ t (disable) m ột số tín h n ă n g chương trìn h hoặc cung cấp m ã th ay th ế vốn thực h iện cùng m ột tác vụ bằng một cách hơi khác. C ¡& cỆ a» ------------------------------------------------------------------------------- P h át kiện tliông tin tên và phiên bđn trình duLjệi tliưồnq được qọi là ẩánli hơi ỈPÌnh duqệt (Lpowsep sniffinq). Giốnq nkỉểu như mội con chó có tíiế phát hiện mủi dutj nliốỉ của một cá nkân, một bpowsep sniffep cố ptiát liiện và tp<3 về nliữnq chi tiết dui) nliđt c ủa phđn mềm trìnk dui^ệt. Để p h át hiện n h à sản xuất trìn h duyệt và m ột sô" p h iên bản, chúng ta sẽ phụ thuộc vào đối tượng navigator DOM. Đối tượng navigator có m ột số phương thức và thuộc tính, nhưng b a phương thức và thuộc tính Chương 7: Tạo các script làm việc trong mọi trình duyệt 171 m ả chúng ta quan tầm vào lúc riàv là appN am e, appV ersion, và userA gent. var browserString = navigator.appName; var browserVersion = navigator.appVersion; var browserAgent = navigator.userAgent; a.ert (orowserString); alert (browserVersion'; ________ alert (browserAgent);_____________________________________________________________ Điều bạn cẩn biết? X ác đ ịn h c á c s ố p h iê n bản J a v a S crip t C á c nhà sản xuất trình duyệt bắt đầu với những mục đích tốt nhất. Cả Netscape và IE cho phép các nhà phát triển xác định một số phiên bản JavaScript bên trong thuộc tinh ngôn ngữ của thẻ Mã HTML này được th iế t k ế để h oạt động trong chỉ các trìn h duyệt web N etscape 4 . X . Mã của chúng ta đinh nghĩa m ột layer N etscape có tên là m ylayer sử dụng thẻ HTM L. Chúng ta định nghĩa một layer thứ hai có tên là mylayer2. Sử dụng JavaS cript, chúng ta có thể thay đổi các m àu nền của hai layer, và di chuyển m ột tro n g chúng sao cho chúng không phủ chồng hoàn toàn. Hiệu ứng có th ể được th ấy trong hình 7 2. T h ật không may, m ã trước không làm việc tro n g b ấ t kỳ phiên bản của IE hoặc trong các trìn h duyệt N etscape 6 mới hơn. C húng ta sẽ phải chỉnh sửa m ã m ột chút để p h át hiện loại trìn h duyệt đang chạy va thực hiện các tác vụ khác nhau dựa vào m ă đó. Đầu tiên chúng ta cần thay đổi các layer để làm việc trong tấ t cả irìnli duyệt. M ã sau đâ> khòng phù hợp với các chuẩn HTM L (vì thẻ không phải là m ột phần của chuẩn), nhưng nó sẽ làm việc trong cả TE và Netscape. Tree view ũem o 9 '_ J Application example 3 Types of folders ' Targets JO RĨqhịlrạniặ •jj] New window '¿¡I Whole window J ] This frame 4 -4j Other Icons Hình 7.1 Một menu cây có thể mở rộng sử dụng DHTML Chương 7: Tạo các script làm việc trong mọi trình duyệt 181
A black square