第8回業開中心会議 LT 「User Agent の 変遷」

30
UserAgent ののの

Transcript of 第8回業開中心会議 LT 「User Agent の 変遷」

Page 1: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の変遷

Page 2: 第8回業開中心会議 LT 「User Agent の 変遷」

目次

1. 今日取り上げるブラウザ2. 各ブラウザの公開日3. UserAgent の 特徴4. Microsoft Edge の 判別

Page 3: 第8回業開中心会議 LT 「User Agent の 変遷」

今日取り上げるブラウザ

Page 4: 第8回業開中心会議 LT 「User Agent の 変遷」

今日取り上げるブラウザ

Internet Explorer 10

Internet Explorer 11

Microsoft Edge

Page 5: 第8回業開中心会議 LT 「User Agent の 変遷」

各ブラウザの公開日

Page 6: 第8回業開中心会議 LT 「User Agent の 変遷」

各ブラウザの公開日

2015 年2014 年2013 年2012 年

Internet Explorer 10

2012 年 8 月 15 日公開

Page 7: 第8回業開中心会議 LT 「User Agent の 変遷」

各ブラウザの公開日

2015 年2014 年2013 年2012 年

Internet Explorer 11

2013 年 10 月 17 日公開

Page 8: 第8回業開中心会議 LT 「User Agent の 変遷」

各ブラウザの公開日

2015 年2014 年2013 年2012 年

Microsoft Edge

(2015 年 3 月 30 日公開 )

Page 9: 第8回業開中心会議 LT 「User Agent の 変遷」

各ブラウザの公開日

2015 年2014 年2013 年2012 年

Microsoft Edge (2015 年 3 月 30 日公開 )

Internet Explorer 11 2013 年 10 月 17 日公開

Internet Explorer 10 2012 年 8 月 15 日公開

Page 10: 第8回業開中心会議 LT 「User Agent の 変遷」

User Agent の 特徴

Page 11: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; Tablet PC 2.0)

Internet Explorer 10

Page 12: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; Tablet PC 2.0)

Internet Explorer 10

①  “ MSIE” の文字列が存在する

ble; MSIE 10.0; Win

Page 13: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; Tablet PC 2.0)

Internet Explorer 10

②   .NET Framework のインストール状態がわかる

0C; .NET4.0E; Table

Page 14: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Internet Explorer 11

Page 15: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Internet Explorer 11

①  “ MSIE” の文字列が消えた!!

Windows NT 6.3; WOW64; Trident/7.0

Page 16: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Internet Explorer 11

②  “ Trident” を含むブラウザが Internet Explorer

.3; WOW64; Trident/7.0; Touch;

.NE

Page 17: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Internet Explorer 11

③  バージョンは “ rv” 以降の数値で判定

CLR 3.0.30729; rv:11.0) like Gecko

Page 18: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Internet Explorer 11

④   .NET Framework のインストール状態がわかる

/7.0; Touch; .NET4.0E; .NET4.0C; T

Page 19: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Internet Explorer 11

⑤  “ like Gecko” 新登場!!

CLR 3.0.30729; rv:11.0) like Gecko

Page 20: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Microsoft Edge

Page 21: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Microsoft Edge

①  “ Trident” の文字列が消えた!!

10.0; Win64; x64) AppleWebKit/537

Page 22: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Microsoft Edge

②  “ rv” の文字列も消えた!!

10.0; Win64; x64) AppleWebKit/537

Page 23: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Microsoft Edge

③  “ Edge” という固有文字列で判別

バージョンは “ Edge” 以降の数字で判定

.0.2171.71 Safari/537.36 Edge/12.0

Page 24: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Microsoft Edge

④  “ Chrome” や “ Safari” という文字列がある…

like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Page 25: 第8回業開中心会議 LT 「User Agent の 変遷」

UserAgent の特徴

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Microsoft Edge

⑥   .NET Framework 関連の文字列はのきなみ消えてる!!

10.0; Win64; x64) AppleWebKit/537

Page 26: 第8回業開中心会議 LT 「User Agent の 変遷」

Microsoft Edge の 判別

Page 27: 第8回業開中心会議 LT 「User Agent の 変遷」

Microsoft Edge の 判別

var userAgent, array, version;

// UserAgent 取得userAgent = window.navigator.userAgent.toLowerCase();

// Micrrosoft Edge かどうかif (userAgent.indexOf('edge') >= 0) {

// "Edge/12.0" 形式からバージョン番号取得 array = /edge\/([\d\.]+)/.exec(userAgent); version = (array) ? array[1] : '';}

JavaScript 実装

Page 28: 第8回業開中心会議 LT 「User Agent の 変遷」

Microsoft Edge の 判別

var userAgent, array, version;

// UserAgent 取得userAgent = window.navigator.userAgent.toLowerCase();

// Micrrosoft Edge かどうかif (userAgent.indexOf('edge') >= 0) {

// "Edge/12.0" 形式からバージョン番号取得 array = /edge\/([\d\.]+)/.exec(userAgent); version = (array) ? array[1] : '';}

JavaScript 実装

‘Edge’ 文字列を含むかどうかでMicrosoft Edge かどうかを判別する

Page 29: 第8回業開中心会議 LT 「User Agent の 変遷」

Microsoft Edge の 判別

var userAgent, array, version;

// UserAgent 取得userAgent = window.navigator.userAgent.toLowerCase();

// Micrrosoft Edge かどうかif (userAgent.indexOf('edge') >= 0) {

// "Edge/12.0" 形式からバージョン番号取得 array = /edge\/([\d\.]+)/.exec(userAgent); version = (array) ? array[1] : '';}

JavaScript 実装

‘Edge’ 以降の数値(バージョン番号)を正規表現を使って取得する

Page 30: 第8回業開中心会議 LT 「User Agent の 変遷」