2012-10-05 31 views
6

Trên html5shiv Google Code page việc sử dụng ví dụ bao gồm một trình duyệt IE có điều kiện:Có bất kỳ tác dụng phụ bất lợi nào để tải html5shiv trong mọi trình duyệt không?

<!--[if lt IE 9]> 
    <script src="dist/html5shiv.js"></script> 
<![endif]--> 

Tuy nhiên trên html5shiv github page, mô tả giải thích:

Kịch bản này là cách defacto để cho phép sử dụng HTML5 sectioning yếu tố trong Internet Explorer cũ, cũng như kiểu dáng HTML5 mặc định trong Internet Explorer 6 - 9, Safari 4.x (và iPhone 3.x), và Firefox 3.x.

Một mâu thuẫn rõ ràng. Vì vậy, để thỏa mãn sự tò mò của tôi, đối với bất kỳ ai đã nghiên cứu mã, có bất kỳ tác dụng phụ nào ảnh hưởng đến việc tải html5shiv trong mọi trình duyệt (không có điều kiện IE) không?

EDIT: Mục tiêu của tôi, rõ ràng là sử dụng shiv mà không có điều kiện IE.

Trả lời

4

Tôi nghĩ rằng nhận xét có điều kiện trên trang của googlecode (được cập nhật có lẽ cách đây hơn một năm) là vì IE8 và dưới đây cần javascript trick để cho phép kiểu dáng css của các phần tử HTML5.

FF4, Safari 4, Opera 11 trở xuống chỉ không áp dụng display:block làm mặc định cho các phần tử "không xác định", nhưng bạn chỉ cần CSS reset để thay đổi hành vi này.

gì html5shiv hiện trên những trình duyệt này chỉ là thêm một <style> vào đầu <head>, tương tự như này:

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { 
    display: block; 
} 

Nguồn: http://meyerweb.com/eric/tools/css/reset/

Vì vậy, nó không nên đưa ra bất kỳ tác dụng phụ nào, bởi vì các quy tắc này có thể được ghi đè bằng các khai báo liên tiếp.

Miễn là bạn thêm quy tắc đó vào đầu tệp CSS chính, bạn chỉ có thể bao gồm html5shiv cho IE, bạn sẽ lưu yêu cầu http.

Nếu bạn muốn trang web html5 của bạn tương thích với FF2 (nếu có, bạn là người điên), check this tutorial.

OP phát hiện html5shiv đã cung cấp dự phòng cho FF2!

+0

Cảm ơn. Đối với bất cứ ai quan tâm, html5shiv cũng giải quyết vấn đề FF2 miễn là khách hàng đã kích hoạt JavaScript trong UA của họ. – Jeff

+0

Cảm ơn @ Jeff, tôi không biết! Họ nên viết nó trong GitHub của họ :) – Giona

+0

Nếu đó là tất cả html5shiv, tại sao không chỉ thêm khối vào tệp CSS chính của bạn và được thực hiện với nó? Nếu trang web của bạn được trình duyệt cũ duyệt, nó sẽ giúp ích và nếu họ sử dụng trình duyệt hiện đại thì trang web của bạn sẽ không gây hại gì. Đúng? –

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