post image

Trang web có cần tương thích với mọi trình duyệt?

Có rất nhiều bạn khi mới bắt đầu với thiết kế web luôn lo lắng rằng trang web của mình có tương thích với mọi trình duyệt hay không? thực ra sử dụng từ “tương thích” ở đây chưa hoàn toàn sát nghĩa, mà lẽ ra phải nói là “giao diện trang web có cần phải giống nhau y hệt trên mọi trình duyệt hay không?“.

Trước khi bắt đầu phân tích vào chi tiết, tôi muốn lấy một ví dụ trong cuộc sống để minh họa cho luận điểm này. Bạn biết rằng khi đi du lịch bằng máy bay, họ có hai loại vé. Vé hạng nhất (hạng thương gia) và vé bình dân (hạng kinh tế). Nếu khả năng tài chính của bạn cho phép, bạn có thể chọn đi vé hạng nhất thì được những tiện nghi như: chỗ ngồi rộng rãi hơn, thực đơn bữa ăn ngon hơn, được phục vụ chu đáo hơn, yên tĩnh hơn v.v.. Còn nếu bạn chọn hạng bình dân, thì bạn cũng được phục vụ đầy đủ. Nhưng tất nhiên không thể so sánh với vé hạng nhất. Tuy nhiên điều quan trọng là cho dù là vé hạng nhất hay hạng bình dân thì bạn vẫn có thể đi đến đích.

Tuy mọi sự so sánh đều là khập khiễng, nhưng hãy tưởng tượng những người sử dụng trình duyệt hiện đại là những hành khách đi vé máy bay hạng nhất. Còn những người sử dụng trình duyệt cũ hơn là những người đi hạng bình dân. Với những ai sử dụng trình duyệt hiện đại như Safari, Chrome, Firefox, Opera và IE9 thì họ có quyền được “hưởng thụ” những công nghệ tiên tiến nhất như CSS3 và HTML5. Còn với những ai vẫn còn đang sử dụng những trình duyệt lỗi thời thì bạn cần đảm bảo rằng họ vẫn có thể sử dụng được trang web mà không gặp trở ngại nào chỉ có điều họ sẽ không thấy được những hiệu ứng đặc biệt mà bạn đã làm cho nhóm người đọc kia.

Để hiểu rõ được luận điểm này bạn hãy xem trang web này với ba trình duyệt: FireFox 3.6+, IE 8+ và Safari (hoặc Chrome). Dưới đây là hình chụp màn hình của 3 trình duyệt

Với trình duyệt IE thì bạn thấy chỉ là một hiệu ứng Hover đơn giản chuyển từ màu xám sang xanh. Với FireFox bạn đã thấy khác biệt là có hiệu ứng bo tròn. Nhưng với Safari thì bạn sẽ thấy nó chuyển động mịn màng và đẹp mắt hơn nhờ những tính năng mới của CSS3. Về cơ bản khi mới truy cập trang web này bằng ba trình duyệt khác nhau thì bạn không thấy gì khác biệt. Điều khác biệt chỉ xảy ra khi chúng ta bắt đầu tương tác với các thành phần trên trang web.

Tác giả của trang web này đã khéo léo cho những ai sử dụng trình duyệt hiện đại có những trải nghiệm thú vị hơn, nhưng họ vẫn đảm bảo rằng chức năng chính của đường liên kết là không thay đổi.

Thêm một ví dụ nữa về sự khác biệt giữa vé hạng nhất và hạng bình dân. Bạn có thể truy cập trang web này với 3 trình duyệt nêu ở trên. Cũng giống như trang trước, sự khác biệt chỉ là những hiệu ứng làm cho trang web thêm đẹp và sinh động. Nhưng nếu trình duyệt của bạn không hỗ trợ, thì bạn vẫn có thể sử dụng trang web chỉ có điều bạn mất đi cơ hội chiêm ngưỡng những kỹ thuật tiên tiến hơn.

Qua hai ví dụ trên ta thấy rằng, người ta chia trang web ra làm hai tầng. Tầng thứ nhất là vỏ bọc bên ngoài nơi bạn có thể trang trí, vẽ vời. Tầng thứ hai là nội dung và chức năng chủ yếu của trang web. Chúng ta phải đảm bảo rằng người đọc luôn được tiếp cận nội dung của trang web một cách toàn diện nhất và sẽ không gặp khó khăn gì khi sử dụng những chức năng chủ yếu của trang web. Tuy nhiên, với những ai có thể, chúng ta sẽ tác động vào tầng thứ nhất để cho trải nghiệm của họ được thú vị hơn và họ sẽ nhớ trang web của chúng ta hơn.

Ví dụ như khi tôi giới thiệu cách sử dụng bo tròn góc bằng CSS3, có rất nhiều người email hoặc comment rằng thế còn IE thì sao? trong IE hiệu ứng bo tròn không có! điều đó là hiển nhiên và người thiết kế phải biết. Nhưng khi đó bạn đứng trước những lựa chọn về mặt kỹ thuật. Bạn có thể sử dụng JavaScript để bo tròn góc, hoặc là sử dụng hình ảnh để thay thế hoặc là chấp nhận thực tế rằng những ai sử dụng IE sẽ không thấy được hiệu ứng bo tròn.

Ở đây bạn phải hiểu rõ ràng bo tròn góc, hiệu ứng đổ bóng, transition là những kỹ thuật “thêm mắm, dặm muối” cho trang web thêm sinh động. Nếu góc biến từ tròn sang vuông hoặc mất đi hiệu ứng đổ bóng thì nó có ảnh hưởng đến chức năng của trang web hay không? nội dung của trang web có bị thay đổi hoặc hạn chế hay không? đó là điều bạn cần cân nhắc.

Kết luận

Trong bài viết này tôi muốn bạn hiểu rằng thiết kế web khác hoàn toàn với việc dàn trang báo. Với những ẩn số như độ phân giải màn hình, trình duyệt, font chữ, hệ điều hành v.v.. bạn không thể đảm bảo rằng trang web của bạn giống nhau 100% ở tất cả các trình duyệt. Nếu không may logo của bạn bị lệch sang phải 5 px trong IE bạn có thể a) chấp nhận nó như một thức tế b) tìm cách giải quyết vấn đề cho bằng được (tất nhiên sẽ phải trả giá). Nhưng có một điều chắc chắn rằng, dù cho người đọc có sử dụng những trình duyệt cũ hơn thì bạn vẫn phải đảm bảo rằng chức năng chính của trang web không bị thay đổi và người ta vẫn có thể xem nội dung của trang web mà không gặp phải trở ngại nào. Như vé hạng nhất và hạng bình dân cũng sẽ đi được từ A đến B, nhưng trải nghiệm trên chuyến bay của mỗi người một khác.

Tham khảo thêm bài Nguyên tắc thiết kế web hiện đại

«

»

26 Comments

( Comment bài này )
  1. tan tai says:

    IE9 cũng có thể bo tròn gốc đc mà anh, cái ví dụ a đưa ở trên e có thử ở 2 trình duyệt là ie và ff đêu bo tròn gốc hết mà

  2. Ku Tí says:

    Thanks a nhiều nhé!
    Trước kia thì e chủ yếu chú ý đến việc người dùng sử dụng trình duyệt mới (Firefox 4 trở lên, Chrome)..
    Mới đây thì bạn bè nó mới nhắc e.
    Nay e vô mới thấy sự quan trọng của nó

  3. Tran Phong says:

    Em test tren FF thi ngon lanh.nhung khi test trên IE toan bi vo~ khung hoac mot so cho khong dc nhu y muon.anh giai thich giup em voi nhe?

  4. Tran Phong says:

    A DW cho em hoi chut.sao em tét tren ff thi ok rui.nhung em test wa IE toan bi loi thoi.em hoi qua 1 so nguoi thi nguoi ta bao? IE mac dinh la dau dong con FF la center.Em ko hieu chinh kieu gi nua .A co the giai thich su khac nhau dc ko?

  5. Hoàn Cầu says:

    Cách dùng từ: “giao diện trang web có cần phải giống nhau y hệt trên mọi trình duyệt hay không?“. vẫn chưa chính xác, ví dụ js chạy được trên FF nhưng ie6 không đc thì đâu có liên quan gì tới giao diện được.

    “Trang web có chạy như nhau trên tất cả trình duyệt hay chua?” có lẽ đúng nhất

    • DC Rama says:

      Nói như vậy vì tác giả chỉ nói về “giao diện” thôi,còn nói đến cả javascript thì phải thêm từ “tương thích” mới đúng.
      Còn cái câu “Trang web có chạy như nhau trên tất cả trình duyệt hay chua?” của bác thì nói thật …đọc cứ như câu cú của mấy thằng hs dốt văn vậy..hic hic.

  6. thanh says:

    sao xem hướng dẫn trong bài hoàn thành css mình add cái tool tạo css hiển thị trực tiếp trên trình duyền mà đánh cái lệnh resetcss rồi enter như bác demon warlock mà không thấy nó có biểu hiện gì là sao nhỉ >”<

  7. sweettimes says:

    Em thấy chrome là 1 trình duyệt cực kỳ tốt, hỗ trợ tốt hơn hết css3 và html5. Các extension hỗ trợ đầy đủ cho web’s developer như FireBug, Live CSS,… Chạy rất mượt mà và tuyệt hơn cả, đây là sự so sánh giữa các trình duyệt khủng nhất quả đất (chrome – FF – Safari – IE8) về html5 :D

    http://img822.imageshack.us/img822/9918/chromeno1.jpg

    bla bla: mình đang dụ các developer xài chrome đấy, hehe

  8. Thai Lam says:

    các bạn có thể dùng adobe browser labs để test

    • Dương Hùng says:

      mình củng thix trình duyệt của google ko cần bạn dụ đâu cái naò hay và tốt thì mọi người xài thôi :) )

  9. kuncon says:

    Hi everyone!
    Mình hiện là webdesigner và mình đang làm cho 1 công ty nhật lĩnh vực thiết kế,phải nói là việc hoàn chỉnh để website hiển thị không có một lỗi nào ở các trình duyệt và trong các môi trường(như win xp,win vista,win7,mac…) là một điều rất tốn nhiều công sức và thời gian.Mình đã từng kiểm tra một dự án cả trăm trang,trên các trình duyệt như vậy,như IE 6 trên WinXP,IE 7 trên Vista,…phải nói là phê(may là mình ko bị giao nhiệm vụ fix lỗi,nếu ko chắc chết!).
    Nên nếu ở góc độ người dùng thì thật là tuyệt rồi,nhưng nếu ở phía người thiết kế,coder,…thì mệt lắm,mình nghĩ chỉ cần 1 vài trình duyệt được sử dụng nhiều nhất(như FF,IE,…)là đủ rồi.
    Và mình nghĩ ko chỉ mình mà toàn thể designer trên thế giới mong đợi một ngày,mà IE 6,IE 7 …bị khai tử.Mong đợi lắm thay!

  10. Chào các bạn mình tên là Vương.
    Mình hiện làm việc tại HongKong mới sin nghỉ phép về que ắn tết.

    Mình thì không đồng tình với quan điểm của các bạn cho lắm
    Chạy theo công nghệ không phải là lúc nào cụng đúng đâu

    Bên mình chỉ cần website ok trên 2 trình duyệt là IE, vả FF là được.
    + IE : Máy tính nào cụng có
    + FF: Khá đông người sử dụng

    ==> Tại sao lại chỉ cần 2 trình duyệt đó
    - Bạn nào học VB, C++… chỉ cần bỏ ra vài tuần là có thể tự code cho mình một trình duyệt web rồi

    - Các trình duyệt như bạn nói là hiện đại như Safari, Chrome, Firefox, Opera và IE9 đó mới chỉ là 5 trong hàng ngàn trình duyệt web mà thôi

    Tính sơ sơ Trung Quốc có khoản ~ 60 trình duyệt lớn còn các trình duyệt nhỏ thì khỏi phải nói, đó mới chỉ là Trung Quốc còn các nước khá mình không nắm rõ lắm

    Nếu ai cụng chạy theo các trình duyệt mà bạn gọi là hiện đại thì các bạn làm việc trong lĩnh vực layout website chết chắc

    ===> Kết luận đi chết thôi có nhiều trình duyệt quá

    • tuan.it89 says:

      Bạn nói mà ko nghĩ chút nào cả! Mình không cần biết là bạn làm việc ở đâu đi nữa, bạn suy nghĩ rất tiêu cực. Ok, bạn dùng trình duyệt gì, tự handcode cho mình 1 trình duyệt, tôi tôn trọng ý kiến của bạn, dù có thể ko hiển thị đầy đủ các hiệu ứng. Trung Quốc có 50 – chứ 5000 trình duyệt đi nữa thì nó cũng ko được sử dụng phổ biến trên phạm vi thế giới! Thử hỏi đa số người sử dụng Internet là biết họ có thừa hơi download một trình duyệt mà ít ai biết tới chứ?. Không phải ai cũng biết tạo ra cho mình 1 trình duyệt riêng, và tìm sử dụng 1 trình duyệt ít phổ biến nhất là khi họ ko phải là người học công nghệ, ko chuyên nghiệp. Đã là web chuẩn thì áp dụng được hầu hết cho các trình duyệt, có khác thì khác đôi chút. Không nhất thiết phải băn khoăn tại sao chỉ áp dụng cho những Browser này bởi được số đông người sử dụng. Với tiêu chí chung là hiển thị nội dung tốt trên mọi trình duyệt và ” Sự khác biệt chỉ là những hiệu ứng làm cho trang web thêm đẹp và sinh động. Nhưng nếu trình duyệt của bạn không hỗ trợ, thì bạn vẫn có thể sử dụng trang web chỉ có điều bạn mất đi cơ hội chiêm ngưỡng những kỹ thuật tiên tiến hơn.”. Vài lời muốn góp ý với tác giả của comment này :)

    • DC Rama says:

      Bác ba hoa chích chòe quá đó.Nói theo quan điểm của bác thì mấy ông google chắc giờ này đi bán ve chai hết rồi.
      Trình duyệt mà bác nói code cho mình một cái để xài thì….rõ là bác rất kết hàng “CHUNG CỦA” made in China rùi….Bác cứ code cho gia đình xài…Vui lòng im lặng cho thiên hạ nhờ.

  11. G-LEO says:

    Những phân tích và chia sẻ của anh DW ở trên thật đúng, nhưng đó chỉ là làm cho trang web của mình thôi. Còn khi làm một dự án cho khách thì mình không có quyền chọn, như em khi làm dự án có ông khách củ chuối bắt fix cả trên IE 6 (phải giống đến 99%), còn IE7,8 thì dự án nào cũng phải fix giống file PSD 100%, => “cái giá phải trả” là không nhỏ =(

    • Tất nhiên là khi làm cho khách hàng mình phải làm theo yêu cầu của họ. Yêu cầu càng khó thì càng nhiều tiền thôi :D .

      Có điều mình cũng phải biết giải thích cho khách hàng nữa. Đôi khi người ta không biết nên mới yêu cầu như thế. Nhưng là một người thiết kế web chuyên nghiệp, mình cũng phải liệt kê ra những cái lợi và hại của những gì mình làm.

      Ví dụ nếu sử dụng CSS3 cho hiệu ứng bo tròn thì có những điểm lợi như: code nhẹ nhàng làm cho trang web nhanh hơn, hiệu ứng đẹp hơn, linh động hơn v.v.. nhưng mặt hạn chế là không hỗ trợ ở IE. Nếu khách hàng thấy điểm này chấp nhận được thì họ sẽ tự quyết định thôi.

  12. helper says:

    Ở Mỹ học IT sướng thật đấy, hầu như toàn thầy xịn … Ở nước mình cũng có nhưng nói chung là khó kiếm. hihi

  13. helper says:

    Ghê thật đại ca vì yêu web mà học đến thế này thì chắc anh em nể lắm đây, chuyên ngành của anh gì anh admin.

  14. Anh ơi sao mấy trang web lớn không thấy người ta làm đẹp nhỉ. nhìn nhức cả mắt :D

  15. helper says:

    Sao không có chrome à anh admin (ảnh để test ấy).
    Google là thần tượng của em đó … rầu ghê.

  16. Mưa tháng 7 says:

    Vào izwebz đầu tiên kiếm bài học, thứ 2 tải bài về học, thứ 3 xem comments, cuối cùng kiếm quảng cáo để click, haha thật là…

  17. QuýHa says:

    Chúc Demon có nhiều bài viết hay hơn nữa ! các bài tut thì không có gì thắc mắc lắm !
    còn những bài viết kiểu như này giúp e có những suy nghĩ và khắt khe hơn nữa với web của mình !

    Tiện đây show cái web em mới làm xong, nó ra đời cũng rất tình cờ !
    Đó là 1 lần lướt web và vô tinh vào Izwebz và đã bị mê hoặc bởi các bài tút!
    Xin chân thành cảm ơn !!

    Haquy.net

  18. kenichifc says:

    Thanks bài viết của anh, ngày trước đúng là khi e làm 1 trang Html chạy trên các trình duyệt thì chỉ có IE là bị lỗi lệnh lung tung hết cả, hóa ra phải reset CSS để đưa các thuộc tính về chung 1 mặc định. Người nước ngoài e thấy đa phần sử dụng IE nhiều nên việc phải thiết kế cho người xem có thể đọc dc nội dung là cần thiết còn những cái chức năng của 1 trình duyệt hiện đại nếu họ ko dùng thì thiệt thôi :)

  1. BB
  2. BB
  3. BB

arrow

Lưu ý khi post comment:

  • Không "bóc tem" topic
  • Dùng lời lẽ có văn hoá và lịch sự
  • Xem trang FAQs trước khi hỏi
  • Bạn có thể dùng thẻ HTML như:<strong>, <em>, <a>
  • Đặt code trong thẻ [php],[html],[javascript],[css]

Chọn kiểu gõ: Tự động TELEX VNI Tắt