Cách tốt nhất để hiển thị một thông báo chỉ dành cho IE 6 và IE 7 là gì?


11

Cách tốt nhất để hiển thị một tin nhắn văn bản chỉ dành cho IE 6 và IE 7 là gì?

Tôi có nên thêm thẻ html vào các trang web của mình và thường ẩn nó bằng css cho tất cả các trình duyệt ngoại trừ các đề cập ở trên không?

Và khi tôi sử dụng IE6 IE7, tôi có nên ẩn trang web bằng css và chỉ hiển thị thẻ html đó không?

cảm ơn


Mục tiêu của bạn là ngăn người dùng IE6 & 7 ra khỏi trang web của bạn phải không?
John Conde

@ John Conde yeah
aneuryzm

Tìm một virus IE 6 & 7 và đặt nó trên trang của bạn. Nếu họ bị nhiễm, họ có IE, khiến virus chiếm quyền điều khiển trình duyệt và hiển thị tin nhắn văn bản mỗi khi họ tải trang web của bạn ... Đùa thôi! ;)
Itai

Câu trả lời:


0

Thật khó để giới hạn quyền truy cập vào một trang web bằng trình duyệt bởi vì không có cách nào hoàn hảo 100% để làm điều đó.

Vấn đề đầu tiên của bạn là giả mạo tác nhân người dùng. Trình duyệt có thể nhận dạng chính họ với bất kỳ tác nhân người dùng nào họ muốn. Các trình duyệt có phần mở rộng dường như có một phần khiến việc này trở nên tầm thường. Nếu ai đó có IE6 hoặc IE7 thay đổi tác nhân người dùng của họ thành IE8 hoặc Firefox, họ sẽ truy cập vào một trang web.

Bạn có thể sử dụng JavaScript để khắc phục vấn đề đó bằng cách sử dụng tính năng phát hiện . Về cơ bản, bạn sử dụng JavaScript để thực hiện một thử nghiệm đơn giản: bạn kiểm tra xem liệu một phần chức năng không tồn tại trong IE6 hoặc IE7 có tồn tại không. Nếu không, bạn biết đó là họ. Vấn đề với điều này là nếu họ tắt JavaScript, họ dễ dàng bỏ qua điều này.

Cách tiếp cận nhiều tầng sẽ là trình duyệt đánh hơi phía máy chủ bằng cách sử dụng tác nhân người dùng của họ, lý tưởng là trong Apache hoặc IIS và chuyển hướng những người dùng đó đến một trang nói với họ rằng bạn không hỗ trợ trình duyệt của họ. BTW, đó là lịch sự hơn sau đó chỉ đơn giản là ẩn trang web. Tôi muốn nói thêm rằng với phương pháp phát hiện tính năng JavaScript. Giữa hai người họ sẽ bắt được tất cả trừ những người dùng am hiểu kỹ thuật nhất và tỷ lệ cược là dù sao họ cũng không sử dụng IE6 hoặc IE7.


@ John Conde Các câu hỏi của tôi thực sự không phải là về cách phát hiện trình duyệt, mà là cách hiển thị nội dung khác nhau sau khi trình duyệt được phát hiện
aneuryzm

1
Điều đó dễ như chuyển hướng tùy thuộc vào cách bạn chọn trình duyệt đánh hơi. Nếu bạn chọn Apache thì hãy chuyển hướng đến một trang đặc biệt trong tệp .htaccess. Nếu bạn chọn JavaScript, hãy sử dụng window.location. Chỉ cần cố gắng ẩn trang web bằng CSS vẫn khiến mọi thứ có sẵn cho người dùng. Họ chỉ không thể nhìn thấy nó mà không có một chút nỗ lực. Những cách bạn đưa chúng ra khỏi nội dung hoàn toàn.
John Conde

@ John Conde oh yeah, bạn đúng
aneuryzm

5
có một cách dễ dàng 100% để làm điều đó, đặc biệt cho các trình duyệt IE. và đó là ý kiến ​​có điều kiện. nói rằng không có cách nào, và sau đó xây dựng các cách nó không hoạt động với tác nhân người dùng không phải là một câu trả lời tốt cho câu hỏi cụ thể này, vì nó có thể được thực hiện mà không cần phát hiện tác nhân người dùng.
Evgeny

2
Tôi không thể tin rằng đây là câu trả lời chính xác.
Marco Demaio

5

Nhận xét CSS có điều kiện hoặc sử dụng phát hiện trình duyệt JQUERY:

Liên kết với CSS Nhận xét có điều kiện

Liên kết để phát hiện trình duyệt Jquery

Sử dụng các kiểu này, bạn có thể đặt các kiểu như ẩn các div của nội dung thông thường và hiển thị các div của nội dung thay thế. Hoặc chúng tôi JS để thay đổi nội dung và cách hiển thị.

Nếu bạn đang tìm cách xóa mọi thứ cho người dùng IE6 và hiển thị cho họ một thông báo yêu cầu họ cập nhật, bạn có thể đặt CSS để ẩn mọi thứ bên trong cơ thể và đưa ra cảnh báo khi phát hiện cảnh báo jquery. Điều đó thật khắc nghiệt, nhưng sẽ hoạt động trong phần lớn thời gian miễn là họ không cố gắng lén lút hoặc bỏ qua việc này. Trong trường hợp đó có lẽ họ không phải là người bạn đang nhắm mục tiêu.


+1 các bình luận có điều kiện sẽ hoạt động tốt nhất trong hầu hết các trường hợp, vì chỉ các trình duyệt IE "hiểu" chúng.
Evgeny

1
Sử dụng phát hiện trình duyệt jQuery để hiển thị một thông báo trên IE 6/7, nó giống như cố gắng vào nhà bạn thông qua cửa sổ thay vì sử dụng cửa.
Marco Demaio

Marco nhận xét đó thật xuất sắc! Đáng buồn thay, đó là một lựa chọn chúng ta có trong bộ công cụ của mình, nhưng tôi sẽ luôn tưởng tượng nó như đang trèo vào một cửa sổ trong nhà tôi bây giờ. Yêu nó!
XOPJ


4

Thêm các loại nhận xét có điều kiện HTML trong nguồn HTML trang của bạn

<!--[if IE 6]>
<h1>Hello, u r using IE6, your message here</h1>
<![endif]-->

<!--[if IE 7]>
<h1>Hello, u r using IE7, your message here</h1>
<![endif]-->

<!--[if lt IE 8]>
<h1>Hello you are using a version of IE less than IE8, your message here</h1>
<![endif]-->

Tất cả ở trên sẽ được bỏ qua như nhận xét HTML bình thường bởi TẤT CẢ các trình duyệt ngoại trừ IE sẽ phân tích những điều này và theo đó.


0

Vậy - lý do nào muốn "ẩn trang web" khỏi eg6 / 7? nếu đó là tin nhắn cụ thể của tác nhân người dùng, tôi sẽ bỏ phiếu cho các bình luận có điều kiện.


0

lý do bạn sẽ hiển thị nội dung khác nhau là lý do bạn đang sử dụng HTML5, không tương thích với IE7 & bên dưới?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.