6

Tôi tự hỏi liệu có thể hiển thị cảnh báo hoặc mở cửa sổ bật lên hay không, tức là cập nhật IE của bạn lên phiên bản mới nhất hoặc sử dụng Firefox/Chrome/Safari, khi trình duyệt Internet Explorer IE8 trở lên ...Bắt buộc cập nhật trình duyệt nếu IE8 hoặc cũ hơn

tôi đoán tôi nên sử dụng mã bên dưới bên trong thẻ ...

<!--[if lt IE 9]> 
...i should use code here... 
<![endif]--> 

có thông minh để trình duyệt deceted với jQuery và tải jQuery lib? Hoặc là nó tốt hơn để chỉ sử dụng javascript thường xuyên để tránh các vấn đề bổ sung với các trình duyệt rất cũ?

+0

Công cụ này chỉ phù hợp với công việc; sử dụng nó. – Jon

+0

quá nghiêm ngặt, bạn sẽ bỏ qua chỉ khoảng 40% số khách truy cập của thế giới theo cách đó – Rodolfo

+1

@Rodolfo Nếu anh ta chặn truy cập vào họ, thì anh ta có. Nhưng nếu anh ta chỉ hiển thị một thông điệp biểu ngữ hoặc phương thức có nội dung 'trình duyệt của bạn đã lỗi thời, hãy nâng cấp' thì nó sẽ chỉ giúp ích. Tôi nghi ngờ rằng hầu hết người dùng IE hoàn toàn hiểu được trình duyệt là gì. –

Trả lời

6

Bạn có hai lựa chọn:

  1. Parse các các User-Agent String

    // Returns the version of Internet Explorer or a -1 
    // (indicating the use of another browser). 
    function getInternetExplorerVersion() { 
        var rv = -1; // Return value assumes failure. 
    
        if (navigator.appName == 'Microsoft Internet Explorer') { 
         var ua = navigator.userAgent; 
         var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); 
    
         if (re.exec(ua) != null) { 
          rv = parseFloat(RegExp.$1); 
         } 
        } 
    
        return rv; 
    } 
    
    function checkVersion() { 
        var msg = "You're not using Internet Explorer."; 
        var ver = getInternetExplorerVersion(); 
    
        if (ver > -1) { 
         if (ver >= 9.0) { 
          msg = "You're using a recent copy of Internet Explorer." 
         } 
         else { 
          msg = "You should upgrade your copy of Internet Explorer."; 
         } 
        } 
        alert(msg); 
    } 
    
  2. Sử dụng Comments Conditional:

    <!--[if gte IE 9]> 
    <p>You're using a recent version of Internet Explorer.</p> 
    <![endif]--> 
    
    <!--[if lt IE 8]> 
    <p>Hm. You should upgrade your copy of Internet Explorer.</p> 
    <![endif]--> 
    
    <![if !IE]> 
    <p>You're not using Internet Explorer.</p> 
    <![endif]> 
    

tham khảo: Detecting Windows Internet Explorer More Effectively

5
<script> var ISOLDIE = false; </script> 
<!--[if lt IE 9]> 
    <script> var ISOLDIE = true; </script> 
<![endif]--> 

Rồi sau này, có bao giờ bạn muốn vẽ đường để hỗ trợ phiên bản cũ của trình duyệt IE trong mã của bạn:

<script> 

    if(ISOLDIE) { 
      alert("Your browser currently does not support this feature. Please upgrade."); 
      window.location = 'http://google.com/chrome'; 
    } 

</script> 

Nó thường không phải là một ý tưởng tốt để loại bỏ hoàn toàn hỗ trợ IE8, đó là tại sao tôi nghĩ giải pháp trên là một thỏa hiệp tốt, vì bạn có thể thêm nó vào các thành phần của trang web/ứng dụng web mà không thể thực hiện để hỗ trợ IE8, nhưng sau đó bạn có thể (có thể) vẫn hỗ trợ IE8 ở các khu vực khác trên trang web của bạn.

+0

Tốt, nhưng rất có thể là Phiên bản IE, họ là một doanh nghiệp dựa vào các tính năng cụ thể của IE hoặc một người mới sử dụng máy tính không thực sự biết trình duyệt web là gì và chỉ cần nhấp vào "e xanh".Trong những trường hợp như thế này, có thể tốt hơn bao gồm các liên kết để nâng cấp trình duyệt IE và các trình duyệt khác, thay vì chỉ là một trình duyệt web cạnh tranh cụ thể. –

6

Bạn có thể sử dụng giống như this

IE6-nâng cấp cảnh báo là một kịch bản ít (7.9kb) mà sẽ hiển thị một thông điệp cảnh báo một cách lịch sự thông báo cho người sử dụng để nâng cấp trình duyệt lên phiên bản mới (liên kết đến IE, Firefox, Opera, Safari, Chrome mới nhất được cung cấp).

Trang web vẫn hiển thị phía sau nền trong suốt nhưng quyền truy cập vào trang web bị ngăn chặn. Ý tưởng là để buộc người dùng nâng cấp từ IE6 và tránh trang web từ một danh tiếng xấu mà trang web không hiển thị chính xác trong IE6.

Kịch bản hoàn toàn có thể dịch được bằng bất kỳ ngôn ngữ nào, rất dễ thiết lập (một dòng mã trong trang web và một cấu hình parametter).

Mặc dù đã được tạo để sử dụng với người dùng IE6, sử dụng thông số chính xác bạn có thể sử dụng cho kịch bản của mình.

2

Có trang web Hà Lan này buộc IE6 và người dùng thấp hơn nâng cấp trình duyệt của họ, một chút điều chỉnh đối với mã "Nếu IE" bạn có thể chặn từ bất kỳ phiên bản nào bạn muốn.

http://wijstoppenook.nl/nl/

Cuộn xuống bước 4 và bấm tải về hoặc "voorbeeld" cho một bản demo, người đầu tiên là một biểu ngữ hàng đầu, thứ hai hoàn toàn khối trang.

Nhược điểm duy nhất, tất cả bằng tiếng Hà Lan, do đó bạn sẽ phải tạo nên thông điệp của riêng mình.

1

Nhận xét có điều kiện không còn được hỗ trợ trong IE 10. WTF! Link

0

Trên trang web của bạn thêm mã của bạn để index.html hoặc index.php

làm việc của nó cũng joomla và wordpress.

<!--[if IE 5]> 
<script language="Javascript"> 
<!-- 
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.") 
//--> 
</script> 
<![endif]--> 
<!--[if IE 5.0]> 
!-- 
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.") 
//--> 
</script> 
<![endif]--> 
<!--[if IE 5.5]> 
!-- 
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.") 
//--> 
</script> 
<![endif]--> 
<!--[if IE 6]> 
!-- 
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.") 
//--> 
</script> 
<![endif]--> 

<!--[if IE 7]> 
!-- 
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.") 
//--> 
</script> 
<![endif]--> 

<!--[if IE 8]> 
!-- 
alert ("It looks like you aren't using Internet Explorer 8. To see our site correctly, please update.") 
//--> 
</script> 
<![endif]-->