2009-08-16 28 views

Trả lời

11

Bạn có thể nhận một số ví dụ không yêu cầu kịch bản lệnh phía máy chủ từ ie6nomore.com.

Họ sử dụng tính năng bình luận có điều kiện của IE, như thế này:

<!--[if lt IE 7]> 
Your browser is outdated! 
<![endif]--> 

Nhưng những ví dụ trên trang web thực sự cung cấp liên kết đến các trình duyệt khác. Tất nhiên, bạn có thể cuộn phiên bản của riêng bạn phù hợp với bố cục của bạn tốt hơn.

Tất nhiên, bạn có thể thực hiện phía máy chủ này nếu bạn thích, vì bạn vẫn đang sử dụng PHP. Các ví dụ khác ở đây sử dụng $_SERVER["HTTP_USER_AGENT"] sẽ giúp bạn bắt đầu. Sử dụng get_browser có thể quá mức cần thiết vì nó yêu cầu tệp dữ liệu khá lớn hoạt động.

Nếu bạn chỉ quan tâm trong việc phát hiện IE phía các phiên bản máy chủ cũ, điều này sẽ làm:

preg_match('/; MSIE (\d+.\d+)/', $_SERVER['HTTP_USER_AGENT'], $matches); 

if (count($matches) > 1 && $matches[1] <= 6.0) 
{ 
    echo "Your browser is outdated"; 
} 
0

Bạn có thể kiểm tra biến số $_SERVER['HTTP_USER_AGENT'] cho IE.

if (eregi("MSIE", $_SERVER["HTTP_USER_AGENT"]) || 
    eregi("Internet Explorer", $_SERVER["HTTP_USER_AGENT"])) { 
    // IE 
} 
+0

Cụ thể, bạn cần phải tìm chuỗi "MSIE 6.0" trong biến này. –

+0

Ông nói IE6, không phải IE hoàn toàn. – Esko

1

Sử dụng IE bình luận có điều kiện trong trang của bạn

<!--[if lt IE 7]> 
include a warning here (in an iframe, perhaps, to save extra bandwidth) 
<![endif]--> 
0

Bạn sẽ có thể làm như vậy dễ dàng bằng cách sử dụng chức năng được xây dựng trong get_browser.

Trong trường hợp bạn muốn xem kết quả trông như thế nào nếu được IE 6 truy cập, bạn có thể lấy chuỗi tác nhân người dùng từ UserAgentString.com để kiểm tra.

0

Hoặc bạn cũng có thể kiểm tra nó với một Javascript

/* 
* Check whether the current browser is IE6 
*/ 
function isBrowserIE6() { 
    if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) { 
     return true; 
    } else { 
     return false; 
    } 
} 

(Trên đây chỉ có thể làm việc trong một môi trường ASP.net. Here's a blog post mà xử lý trình duyệt IE kiểm tra cách bản địa).

Bạn sau đó thêm một yếu tố container HTML trên trang của bạn

<div id="ie6BrowserWarning" style="display:none"> 
    Your browser is outdated. Please download one of the alternative browsers! 
    <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> 
</div> 

Và trên tải trang bạn làm

<html> 
<head> 
<script type="text/javascript"> 

    function doIE6WarningCheck() 
    { 
    var element = document.getElementById("ie6BrowserWarning"); 
    var isIE6 = isBrowserIE6(); 
    if(element != null && isIE6 == true) 
    { 
     element.style.display = "block"; 
    } 
    } 
</script> 
</head> 
<body onLoad="doIE6WarningCheck()"> 
    <div id="ie6BrowserWarning" style="display:none"> 
     Your browser is outdated. Please download one of the alternative browsers! 
     <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> 
    </div> 
</body> 
</html> 

tôi đã không kiểm tra đó, chỉ cần viết nó ra khỏi đầu tôi ngay bây giờ . Bạn sẽ phải làm điều đó, nhưng tôi đoán nó sẽ hoạt động. Firebug luôn là một tùy chọn tốt để gỡ lỗi JavaScript.

+0

Đó không phải là JavaScript chuẩn. Nó chỉ hoạt động trong môi trường ASP.NET. Không phải rất hữu ích kể từ khi anh ấy sử dụng PHP. Nếu bạn muốn làm điều này, các bình luận có điều kiện sẽ dễ dàng hơn nhiều. – Thorarin

+0

Xin lỗi, tôi đã lấy isBrowserIE6() từ cái tôi đã viết một vài lần trước đây. Đã không chú ý rằng nó sẽ chỉ chạy trên ASP.net. Tất nhiên ý kiến ​​có điều kiện dễ dàng hơn, JavaScript sẽ chỉ là một giải pháp thay thế. (Tôi đã cập nhật bài đăng để trỏ đến trang chứa kiểm tra trình duyệt gốc). – Juri

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