Làm cách nào để tạo hộp thông báo xuất hiện khi tải trang nếu người dùng đang sử dụng IE 10?Kiểm tra IE 10
function ieMessage() {
alert("Hello you are using I.E.10");
}
Trang web của tôi là một biểu tượng JSF (XHTML).
Làm cách nào để tạo hộp thông báo xuất hiện khi tải trang nếu người dùng đang sử dụng IE 10?Kiểm tra IE 10
function ieMessage() {
alert("Hello you are using I.E.10");
}
Trang web của tôi là một biểu tượng JSF (XHTML).
Các wa thực y để phát hiện này, mà không bình luận có điều kiện và không có User Agent sniffing là với biên soạn có điều kiện:
<script type="text/javascript">
var isIE10 = false;
/*@cc_on
if (/^10/.test(@_jscript_version)) {
isIE10 = true;
}
@*/
console.log(isIE10);
</script>
Sau khi chạy mã này, bạn có thể sử dụng sau đây bất cứ lúc nào sau:
if (isIE10) {
// Using Internet Explorer 10
}
tham khảo: How can I detect IE10 from JS when browser mode is IE9?
CẬP NHẬT:
Để tránh việc rút gọn các ý kiến, bạn có thể sử dụng một cái gì đó như:
var IE = (function() {
"use strict";
var ret, isTheBrowser,
actualVersion,
jscriptMap, jscriptVersion;
isTheBrowser = false;
jscriptMap = {
"5.5": "5.5",
"5.6": "6",
"5.7": "7",
"5.8": "8",
"9": "9",
"10": "10"
};
jscriptVersion = new Function("/*@cc_on return @_jscript_version; @*/")();
if (jscriptVersion !== undefined) {
isTheBrowser = true;
actualVersion = jscriptMap[jscriptVersion];
}
ret = {
isTheBrowser: isTheBrowser,
actualVersion: actualVersion
};
return ret;
}());
Và truy cập vào các tính chất như IE.isTheBrowser
và IE.actualVersion
(được dịch từ các giá trị nội tại của phiên bản JScript).
Cảm ơn rất nhiều đang làm việc hoàn hảo – user2292674
Nó sẽ là rất nhiều khó chịu hơn để kiểm tra điều này trong các phiên bản IE khác nhau, tuy nhiên. –
@AlexW Không thực sự. Nó khá dễ dàng để sửa đổi để có được phiên bản IE trở lại (thay vì đúng/sai dựa trên một phiên bản nhất định), và thực sự đáng tin cậy. Vì vậy, tôi muốn sử dụng một cái gì đó mà các công trình và không thể được giả mạo hơn một cái gì đó mà có thể thay đổi và được thay đổi – Ian
Nói chung, việc thực hành thao tác thu thập tác nhân người dùng và thu thập/nhận xét có điều kiện là tốt nhất nên tránh. Thay vào đó, tốt hơn nên sử dụng feature detection, graceful degradation và progressive enhancement. Tuy nhiên, trong vài trường hợp cạnh nơi mà nó là thuận tiện hơn cho các nhà phát triển để phát hiện các phiên bản trình duyệt, bạn có thể sử dụng các đoạn mã sau:
tuyên bố if
này sẽ chỉ thực thi trên trình duyệt IE 10
// IF THE BROWSER IS INTERNET EXPLORER 10
if (navigator.appVersion.indexOf("MSIE 10") !== -1)
{
window.alert('This is IE 10');
}
này if
tuyên bố sẽ chỉ thực hiện trên IE 11
// IF THE BROWSER IS INTERNET EXPLORER 11
var UAString = navigator.userAgent;
if (UAString.indexOf("Trident") !== -1 && UAString.indexOf("rv:11") !== -1)
{
window.alert('This is IE 11');
}
Cảm ơn bạn sẽ thử ngay bây giờ :) – user2292674
Cảm ơn rất nhiều đang hoạt động hoàn hảo – user2292674
Mã tuyệt vời! Tôi đã tìm kiếm giờ làm thế nào để làm điều này. 1 để bao gồm cả IE 11 quá;) – www139
Dưới đây là một phương pháp để nhận được IE hiện tại hoặc phiên bản trình duyệt IE:
function IE(v) {
return RegExp('msie' + (!isNaN(v)?('\\s'+v):''), 'i').test(navigator.userAgent);
}
Đây là cách bạn có thể sử dụng nó:
if(IE()) alert('Internet Explorer!');
if(IE(10)) alert('Internet Explorer 10!');
Tại sao bạn cần phải làm điều này? – Ryan
dự án dành cho trường học, phải hiển thị thông báo trong các trình duyệt khác nhau :) – user2292674
[Phát hiện trình duyệt bằng javascript?] (Http://stackoverflow.com/questions/2400935/browser-detection-in-javascript). – Vucko