MS Edge(EdgeHTML版)の“event”オブジェクトとは何者?
ちゅんラヂがMS Edge(EdgeHTML版)で動かなくなっていました。原因は機能変更で「event」という変数名を使った為でした。
EdgeHTML版だけの現象です。BlinkエンジンをつかっているAndroid版EdgeとPC向け開発中のEdgeでは問題ありません。
そのうちにEdgeHTML版はBlink版に置き換えられるので放置しようという考えも少し過りました。
しかし、この件は“event”などという、如何にもシステム内部で使われていそうな名称を使った自分に反省!!。ということで名称を“eventUI”に変更しました。因みに“event”はJavaScriptの予約語ではありません。
上記の修正をしたのですがEdgeHTML版ではまともに動きませんでした。エラーはでませんが幾つかの不具合があります。
・ブロック要素を透過で重ねた時にCSS指定より上に表示される
└→複雑にブロックを重ねるた時の解釈で描画が崩れる
・ビジュアライザー表示が出来ない
└→analyserのgetByteFrequencyDataの値取値がZeroしか帰ってこない
・audioのplay()をPromiseで同期処理させるとエラーが帰る
└→audioがPromise対応ていない?Safariと同様に( ..)φメモメモ
EdgeHTML版Edgeはモダンブラウザとして扱っちゃダメみたいですね。Polyfillを使ってもWeb Audio APIは無理ですし、Edgeは来年の春ごろにBlink版に置き換えられる予定です。そこでEdgeHTML版Edgeへの対応を探るのは止めて放置する事にしました。
Tridentから派生したEdgeHTMLは、2015年にリリースされてから4年を経過しても、Blinkに追いつけて居ないようです。マイクロソフトがEdgeHTMLを捨てる決断をしたのは、もしかしてEdgeHTMLのメンテナンスのギブアップか?
■蛇足です■
2020年でFlash Player廃止、Windows Media Serverサポート終了など、Edgeがblinkエンジンに切り替えなどでレガシーな環境の幾つかがウェブの世界から消えます。
その後も残るレガシーはIEです。.NETのActiveXコントロールに依存しているシステムがまだ現役みたいですので、簡単には抹消できないのかもしれません。今となっては、ウェブに対する初期の頃の.NETの功罪はXMLHttpRequestが功で、ActiveXコントロールが罪です。ウェブでのActiveXコントロール利用はEdgeのエンタープライズモード経由(IEモード)のみにマイクロソフトがしてくれれば、IEの廃止ができると思うのです。ぜひともそうして欲しい。ActiveXコントロール以外でIE独自タグを使っていてIEでしかまともに閲覧できいサイトは、もう賞味期限切れという事で良いのじゃないかと思います。
日本のブラウザ・ガラパゴスも2020年で脱却してほしいです。IE等のレガシー対応が無くなればウェブ開発者がかなり楽になります。そんな思いもあり、個人の趣味的サイトであるちゅんラヂはIEを拒絶する作りにしてあります。EdgeHTML版Edgeも拒絶しようかな・・・。つでにiOS9以前のSafariも拒絶・・・。
あと、サイマルラジオのらじる、Radiko、Listen RadioのIE対応がFlash Player依存です。これらのサイマル ラジオはIEのみの機能では対応できない配信方式ですのでFlash Playerを使っているのです。もしかして2020年には、これらのサイマルラジオがIE対応を止める可能性があるかもしれません。そうなれば個人的にはIE利用者が減少するかもしれませんので歓迎です。
ということで2020年はサイマル ラジオ聴取関係に動きがあるかもしれません。らじるとRadikoはIE対応を止めるのはIE版を放棄するだけ、Listen Radioはモダンブラウザ向けにプレイヤーを新調する必要がありますので、何かをしてくると思われます。
■追伸:2019-10■
EdgeHTML版のMS Edgeでのちゅんラヂ動作不具合ですが、Windows 10 Update後に解消された様です。
来年切り替え予定のChromium版はブラウジングだけなら既に安定しています。Edge独自機能はまだ未完成という感じです。ウェブ開発でEdgeHTMLでの動作確認が減るだけでも楽になるので、早く切り替わらないかなと思っています。
最近のコメント