ホームページ >ウェブフロントエンド >jsチュートリアル >IE11でのnavigator.userAgentの変更例のコード

IE11でのnavigator.userAgentの変更例のコード

零下一度
零下一度オリジナル
2017-06-30 10:15:361617ブラウズ

当初、ブラウザが IE であるかどうかを判断したときは、navigator.userAgent で常に MSIE を使用できましたが、IE11 では userAgent に MSIE フィールドが含まれなくなりました

実際のプロジェクトでは、コンソールでのエラー報告に関して同様の問題が発生しました。 , ブラウザのモデルを検証する場合、具体的な方法は以下の通りです:

function getBrowserInfo(){

var Sys = {};

var ua = navigator.userAgent.toLowersCase();

var re = /( msie I firefox | opera version).*?([d.]+)/;

var m = ua.match(re);

Sys.browser = m[1].replace(/version/ , "'safari'");

Sys.ver = m[2];

return;

}

このメソッドによると、Sysで特定のブラウザ情報を取得でき、これを直接呼び出すことができます。

しかし、本番環境は突然ログインできなくなりました。ユーザーからのフィードバックは、操作に IE11 が使用されているため、具体的なエラーは次のとおりです。

【 SCRIPT5007: 取得できません。未定義または null 参照プロパティ" 1" ]

エラー表示位置によると、通常のマッチング後の位置決めでは m が取得できません;

解決後、ie11 ブラウザの navigator.userAgent が変更され、具体的には:

"Mozilla/ 5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Shuame; rv:11.0) like Gecko ";

それで、通常の判断を置き換えます: var re = /(msie I firefox | chrome | opera | version | rv:).*?([d.]+)/;

このようにして問題は解決され、ie11 との互換性も大幅に改善されましたが、まだまだ改良が続けられています。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。

以上がIE11でのnavigator.userAgentの変更例のコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。