IE ブラウザが window.navigator.userAgent を使用しているかどうかを確認します。この情報を追跡すると、開発環境では IE10 として認識されますが、サーバーにアクセスすると IE11 として認識されますが、MSIE マークが表示されないことがわかります。 IE11のuserAgentにあるのが原因です。
IEブラウザの判定方法を以下に変更するだけです。
function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false; }
ここにいくつかの共有があります。非常に実用的な分析と説明をご覧ください。
多くの場合、通常、IE ブラウザのバージョンを決定するために navigator.userAgent と正規表現を使用します。ここでは、IE ブラウザのさまざまな機能を使用して IE ブラウザを決定する方法を紹介します。
1 IE ブラウザと非 IE ブラウザを決定します
IE ブラウザと IE 以外のブラウザの違いは、IE ブラウザは ActiveXObject をサポートしますが、IE 以外のブラウザは ActiveXObject をサポートしないことです。 IE11 ブラウザが登場する前は、これが IE と非 IE の判断方法でした
function isIe(){ return window.ActiveXObject ? true : false; }
しかし、IE11 では、上記の判定は false を返します。私は IE11 で次のコードをテストしました。
アラート(window.ActiveXObject);
アラート(ウィンドウの種類.ActiveXObject);
結果は次のとおりです
これはなぜですか?明らかに ActiveXObject は存在しますが、typeof の結果は確かに未定義です。結果を知っている人は理由を教えてください。シェンマに?
Microsoft の公式 Web サイトでは、IE11 の ActiveXObject の違いについて説明しています。 http://msdn.microsoft.com/en-us/library/ie/dn423948%28v=vs.85%29.aspx。ただし、typeof の理由は説明されていません。
を検出するには次のコードを使用すれば問題ありません。alert("ActiveXObject" in window)//ie11 では false を返します
これまた理解できないのですが、IE ブラウザの判定に使用されているコードが IE11 で true を返すのはなぜでしょうか。もう一度、専門家に説明を求めます。ありがとうございます
以下は、IE ブラウザーまたは非 IE ブラウザーが IE11 と互換性があるかどうかを判断する直接的な方法です。
function isIe(){ return ("ActiveXObject" in window); }
プログラム コード内の ActiveXObject を上書きしないことが前提条件であることに注意してください。これを行うプログラムはありません。ふふ。
2 IE6 ブラウザを決定します
IE 7 以降、IE は XMLHttpRequest オブジェクトをサポートしますが、IE6 はサポートしません。この機能と、IE を判断するための以前の関数 isIe() に基づいて、IE6 を判断する方法がわかりました。判定方法は以下の通りです
function isIe6() { // ie6是不支持window.XMLHttpRequest的 return isIe() && !window.XMLHttpRequest; }
3 IE7 ブラウザを決定します
IE8からドキュメントモードがサポートされるため、document.documentModeをサポートします。 IE7 はこれをサポートしていませんが、IE7 は XMLHttpRequest オブジェクトをサポートしています。判定方法は以下の通りです
function isIe7() { //只有IE8+才支持document.documentMode return isIe() && window.XMLHttpRequest && !document.documentMode; }
4 IE8 ブラウザを決定します
Microsoft は IE9 から徐々に標準に近づきつつあり、IE678 を非標準ブラウザと呼び、IE9+ および chrome や Firefox などの他のブラウザを標準ブラウザと呼びます。両者の違いの 1 つは次のとおりです。次のコードをテストしてください。返されるもの
alert(-[1,]);//IE678 で出力されるのは NaN ですが、標準ブラウザで出力されるのは -1
上記の違いから、IE8 ブラウザであると判断できます。方法は以下の通りです
function isIe8(){ // alert(!-[1,])//->IE678返回NaN 所以!NaN为true 标准浏览器返回-1 所以!-1为false return isIe() &&!-[1,]&&document.documentMode; }
5 IE9、IE10、IE11 ブラウザを決定します
ブラウザは IE8 から JSON 組み込みオブジェクトをサポートし、IE10 から JS の strict モードをサポートします。JS の strict モードについては、この記事を参照してください。http://www.jb51.net/article /75037 .htm
IE9 以降のAlert(!-[1,]) は false を返します。IE9 以降では addEventListener がサポートされていますが、IE11 ブラウザーは IE 固有の独自のイベント バインディング AttachEvent をサポートしていません。これらの違いに基づいて、IE9、IE10、および IE11 ブラウザーを区別できます。
6 他のブラウザを決定します
/****来自曾经项目中封装的公共类函数***/ //检测函数 var check = function(r) { return r.test(navigator.userAgent.toLowerCase()); }; var statics = { /** * 是否为webkit内核的浏览器 */ isWebkit : function() { return check(/webkit/); }, /** * 是否为火狐浏览器 */ isFirefox : function() { return check(/firefox/); }, /** * 是否为谷歌浏览器 */ isChrome : function() { return !statics.isOpera() && check(/chrome/); }, /** * 是否为Opera浏览器 */ isOpera : function() { return check(/opr/); }, /** * 检测是否为Safari浏览器 */ isSafari : function() { // google chrome浏览器中也包含了safari return !statics.isChrome() && !statics.isOpera() && check(/safari/); } };
js は IE11 を含む IE ブラウザのバージョンをどのように判断します
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>脚本之家</title> <script type="text/javascript"> var userAgent = navigator.userAgent, rMsie = /(msie\s|trident.*rv:)([\w.]+)/, rFirefox = /(firefox)\/([\w.]+)/, rOpera = /(opera).+version\/([\w.]+)/, rChrome = /(chrome)\/([\w.]+)/, rSafari = /version\/([\w.]+).*(safari)/; var browser; var version; var ua = userAgent.toLowerCase(); function uaMatch(ua){ var match = rMsie.exec(ua); if(match != null){ return { browser : "IE", version : match[2] || "0" }; } var match = rFirefox.exec(ua); if (match != null) { return { browser : match[1] || "", version : match[2] || "0" }; } var match = rOpera.exec(ua); if (match != null) { return { browser : match[1] || "", version : match[2] || "0" }; } var match = rChrome.exec(ua); if (match != null) { return { browser : match[1] || "", version : match[2] || "0" }; } var match = rSafari.exec(ua); if (match != null) { return { browser : match[2] || "", version : match[1] || "0" }; } if (match != null) { return { browser : "", version : "0" }; } } var browserMatch = uaMatch(userAgent.toLowerCase()); if (browserMatch.browser){ browser = browserMatch.browser; version = browserMatch.version; } document.write(browser+version); </script> </script> </head> <body> </body> </html>
上記のコードは判定機能を実装しています。ここではその実装原理を紹介します。
まずコードの一部を見てみましょう:
navigator.userAgent
IE11 での情報のスクリーンショット:
次に、対応する正規表現を使用して照合します。 IE11 と以前のバージョンのブラウザーの間には依然として大きな違いがあります。以前のバージョンでは、この情報に msie が含まれていましたが、IE11 では、Trident が新たに追加され、その後にブラウザーのバージョン番号が続くことに特に注意してください。これ。

如何使用JS和百度地图实现地图平移功能百度地图是一款广泛使用的地图服务平台,在Web开发中经常用于展示地理信息、定位等功能。本文将介绍如何使用JS和百度地图API实现地图平移功能,并提供具体的代码示例。一、准备工作使用百度地图API前,首先需要在百度地图开放平台(http://lbsyun.baidu.com/)上申请一个开发者账号,并创建一个应用。创建完成

如何使用JS和百度地图实现地图热力图功能简介:随着互联网和移动设备的迅速发展,地图成为了一种普遍的应用场景。而热力图作为一种可视化的展示方式,能够帮助我们更直观地了解数据的分布情况。本文将介绍如何使用JS和百度地图API来实现地图热力图的功能,并提供具体的代码示例。准备工作:在开始之前,你需要准备以下事项:一个百度开发者账号,并创建一个应用,获取到相应的AP

js字符串转数组的方法:1、使用“split()”方法,可以根据指定的分隔符将字符串分割成数组元素;2、使用“Array.from()”方法,可以将可迭代对象或类数组对象转换成真正的数组;3、使用for循环遍历,将每个字符依次添加到数组中;4、使用“Array.split()”方法,通过调用“Array.prototype.forEach()”将一个字符串拆分成数组的快捷方式。

如何使用JS和百度地图实现地图多边形绘制功能在现代网页开发中,地图应用已经成为常见的功能之一。而地图上绘制多边形,可以帮助我们将特定区域进行标记,方便用户进行查看和分析。本文将介绍如何使用JS和百度地图API实现地图多边形绘制功能,并提供具体的代码示例。首先,我们需要引入百度地图API。可以利用以下代码在HTML文件中导入百度地图API的JavaScript

js中new操作符做了:1、创建一个空对象,这个新对象将成为函数的实例;2、将新对象的原型链接到构造函数的原型对象,这样新对象就可以访问构造函数原型对象中定义的属性和方法;3、将构造函数的作用域赋给新对象,这样新对象就可以通过this关键字来引用构造函数中的属性和方法;4、执行构造函数中的代码,构造函数中的代码将用于初始化新对象的属性和方法;5、如果构造函数中没有返回等等。

这篇文章主要为大家详细介绍了js实现打字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

php在特定情况下可以读js内部的数组。其方法是:1、在JavaScript中,创建一个包含需要传递给PHP的数组的变量;2、使用Ajax技术将该数组发送给PHP脚本。可以使用原生的JavaScript代码或者使用基于Ajax的JavaScript库如jQuery等;3、在PHP脚本中,接收传递过来的数组数据,并进行相应的处理即可。

js全称JavaScript,是一种具有函数优先的轻量级,直译式、解释型或即时编译型的高级编程语言,是一种属于网络的高级脚本语言;JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式,如函数式编程。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック



