………1年以上放置した挙句、それでも欠かさずやってた新年の挨拶もとい生存報告すら行わず
今になって唐突に投下した新記事がこれかよ!と思う人もいるかもしれないが、まぁ気にしないでね。
任天堂ハードのブラウザのユーザーエージェント一覧(DS / DSlite / DSi / 3DS / New3DS / Wii / WiiU) - はりをきば
https://blog.gutyan.jp/entry/2015/01/31/NintendoBrowser
上記の記事の補足という形で、スイッチのブラウザをちょいと調べてみた。
スイッチには内部的な機能の為にアプレットという形でブラウザが実装されているが、
それを3DSやWiiUのようにエンドユーザーが直接呼び出す事は基本的にはできない。
…できないが、実は細工されたDNSを使う事で無理矢理起動する方法がある。
通常のブラウザとしての基本機能が備わっていない*1ので実用性は無いが、
今回はそれでユーザーエージェントを始め一通り仕様を確認してみた。ちなみに本体verは5.0.2。
ユーザーエージェント
Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.8.9 NintendoBrowser/5.1.0.16739
エンジンは3DS、WiiUに引き続きNetfrontとみて間違いない。
navigator と screen の値
ついでなのでUA以外も調べてみた。
それ用に適当なHTMLを作成。
http://test.gutyan.jp/ns
当初以下のコードでプロパティを洗い出すつもりだったのだが
for (let name in prop) { document.write(`${name}: ${prop[name]}<br>`); }
何故かスイッチのブラウザでは動かなかった(Firefox/ChromeはOK)
仕方ないので、主要なプロパティを手動リストアップして総当り。
【追記 2019/03/07】
上記コードが動かない原因が判明、詳しくはコメント欄を参照。
上記HTMLで出力された画面を適当にスクショ。
テキスト化だのリザルトログを鯖に保存するPHPだの面倒なので必要なら自分でOCRしてね。
尚、ブラウザ機能使用中は標準のスクショ機能が無効化されていて使えないので、
HDMIキャプチャで1920x1080/32bit/BMPで撮ったものを1280x720/8bit/PNG*2に変換して掲載。
結果がこれ。
興味深いのはgetGamePadsに関数が入っていること(実際に動くかは知らん)
そして、ブラウザの解像度はTVモード/携帯モード関係無くWiiU同様1280x720であること(本体の解像度に合わせてる?)
モーダルダイアログ
alert、confirmは正規のWebアプレット画面でも使われてるが
promptは見た事がないので、試してみた。
何ら問題無く表示できる。
HTMLは以下
http://test.gutyan.jp/modal
HTML5test
HTML5test.comを踏んだ結果がこれ
Nintendo Switch 5.0.2 - HTML5test
http://html5te.st/a7fafc3dcd581869
スマホブラウザと比べると劣るけど、まぁいいんじゃない?
面白いのは、Video系は一通り対応している*3のに対し、Audioは全滅しているところ。
まぁWiiUやスマホもAudioの対応はアレだし、こんなもんかな…
以上。
Octaneとかのベンチマークも試してみたが、重すぎて敢え無く撃沈(応答停止)してしまった…。