影の日記

時事、it、音楽、Linux、Fedora、CentOS

ブラウザBrowser環境変数をJavaScriptで取得してみる

f:id:akakage7:20190402132349p:plain

普段Fedora Cinnamonで利用しているブラウザは、Firefoxです。Linuxのデフォルト・ブラウザは通常Firefoxであることが多々あると思います。ですが、世間の動向も考慮して影もFedora CinnamonやCentOS8だけでなくWindows10でもGoogle謹製のChromeをインストールしています。

f:id:akakage7:20191230230701p:plain

Fedora Cinnamon31 Firefox

Linuxあるある事件簿でFirefoxのバージョンアップで言語問題発生が時偶起こります。Fedora CinnamonでFirefoxが70か71にバージョンアップした時にFirefoxの表示がおかしいことに気付きました。影のFirefoxのブックマークでのGoogleニュースのURLは下記のようにしてます。

f:id:akakage7:20191230215325p:plain

通常Googleニュース日本語版のURLは下記ように「?」マーク以降のURLに日本語を示す「ja」が表示されたままブックマークされていると思います。影はブックマークした後ブックマークの編集で「?」マーク以降を削除して登録しています。過去にもFirefoxはやらかしていますので、出来るだけ早く察知するように気を付けているわけです。

f:id:akakage7:20191230215350p:plain

そのため、Firefoxのアップデートで下記のようなGoogleニュースの英語版が表示されてしまう時があります。

f:id:akakage7:20191230215446p:plain

はてなブログでログインしようとすると下記のように英語表示になってしまってます。

f:id:akakage7:20191230215530p:plain

JavaScriptでBrowser環境変数を取得】

この現象は、影が思うにブラウザの言語環境変数を判定して言語切替表示をしているのではないかと思います。下記のようなJavaScriptを作成して環境変数を判定するとブラウザの言語設定がen-USとなっていることが分かります。

<!DOCTYPE HTML>
<html lang='ja'>
<head>
<meta charset='UTF-8' />
<title>Navigator</title>
<script>
window.onload = function(){
document.getElementById('btn').onclick = function(){
var result = window.confirm('環境変数表示する場合はOKボタンをクリック');
if(result){
window.alert('appCodeName = ' + navigator.appCodeName + ' ' +
'appName = ' +navigator.appName + ' ' +
'platform = ' +navigator.platform + ' ' +
'language = ' +navigator.language + ' ' +
'appVersion = ' +navigator.appVersion + ' ' +
'userAgent = ' +navigator.userAgent);
}else{
window.alert('キャンセルしました');
}};};
</script>
</head>
<body>
<input id="btn" type="button" value="環境変数を表示します" />
</body>
</html>

 上記のjavascriptを実行するとlanguageがen-USとなっていました。

f:id:akakage7:20191230222104p:plain

ブラウザFirefoxの設定画面を表示します。

f:id:akakage7:20191230222133p:plain

「ウェブページの表示に使用する言語の優先順位を設定できます」の言語設定をクリックすると日本語「ja」がありませんでした。しかし、メニューや設定画面は日本語で表示されてはいます。ここで「追加する言語を選択」をクリックして日本語を探します。

f:id:akakage7:20191230222149p:plain

日本語を選択して「追加」します。

f:id:akakage7:20191230222203p:plain

日本語が一番上にくるようにします(トランプ流に言うとJapanファーストFirst)。

f:id:akakage7:20191230222217p:plain

 そして再度、javascriptでブラウザの環境変数を表示するとlanguageがjaとなりました。

f:id:akakage7:20191230222249p:plain

Googleニュースを表示すると日本版になりました。ある意味気持ち悪い雰囲気を感じてしまいます。GAFAだけでなく身近な所でも個人情報が流出してしまう状況を垣間見るような不気味さがネットの恐ろしい所かもしれません。

f:id:akakage7:20191230222308p:plain

Centos8でもFirefox68にアップデートした時、「ウェブページの表示に使用する言語の優先順位を設定できます」の言語設定に日本語「ja」が存在していませんでした。今後LinuxにおけるFirefoxは利用する個人各自で設定することになるのかもしれません。

f:id:akakage7:20191231082854p:plain

 

Fedora Cinnamon31 Chromeの言語設定と環境変数

Firefoxと同様にJavaScriptChrome環境変数を取得すると下記のようにlanguageはja「日本語」になってます。

f:id:akakage7:20191231131526p:plain

Chromeの設定画面で言語の優先順位を変更します。

f:id:akakage7:20191231131542p:plain

f:id:akakage7:20191231131555p:plain

f:id:akakage7:20191231131606p:plain

JavaScriptChrome環境変数を取得するとlangugeがen-USに変更しています。

f:id:akakage7:20191231131618p:plain

Chromeのブックマークは下記のようになってます。

f:id:akakage7:20191231131631p:plain

ChromeGoogleニュースを表示すると英語になります。

f:id:akakage7:20191231131645p:plain

はてなブログのログイン画面も英語表示になります。

f:id:akakage7:20191231131724p:plain

Chromeの言語設定で日本語を最上部にします。

f:id:akakage7:20191231131657p:plain

ChromeでのGoogleニュースは日本語表示になります。

f:id:akakage7:20191231131712p:plain

以上JavaScriptによるブラウザ環境変数の取得とFirefoxの言語設定の簡単報告です。

BABYMETAL - Road of Resistance