わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

IE11対応ほか

ブラウザで動く学会タイマーzjsを更新しました.ソースはhttps://github.com/takehiko/zjsから取得できるほか,後述のデモページに最新版を置いています.
今月上旬の研究会で学生に発表してもらうにあたり,発表練習で使用した際,「Internet Explorer 11で音が鳴らない」「カウントダウン/カウントアップの表示が一部おかしい」ことに気づきました.表示のほうは練習後に修正しました*1IE対応は,一昨日に実施した,卒論のための発表練習に先立ち,解決を試みました.
デスクトップPCで,IE 11上でzjsのHTMLファイルを開き,音が鳴らないことを確認してから,ringModeの値を変えてみると,この値が2のときだけ,音が鳴りました*2
次に,JavaScriptの処理部に「alert("navigator.userAgent: " + navigator.userAgent);」を入れ,再読込すると,次のように表示されました.

ringModeの値を明示しないとき,自動判定でこれが2になるのは,userAgentに"MSIE"が含まれるとき,かつそのときに限られていたのですが,上のとおり,"MSIE"が出現しません.
ブラウザそしてバージョンごとの,userAgentは,少し探せば見つかりました.

その結果,navigator.userAgentに,"MSIE","Trident"のいずれかが含まれる場合に,IEと判定する(内部変数prop.userAgentに"msie"を代入する)よう,OR条件をつけ加えました.
それと小さなことですが,READMEに「AndroidiOS端末」でも動作確認していることを,記載しました.


学科の卒業論文発表会は,明日です.4部屋並行実施で,当研究室の学生は,A会場の最初のセッションです.
当日の時間に合わせた,zjsのページに,リンクしておきます(2つのリンクは中身が同じで,サイトが異なります).

*1:prop.color.baseに代入する,配列の値にミスがありました.

*2:0:鳴らさない / 1:そのつどsound内に書き込む / 2:あらかじめsound内に書き込んでPlay / 3:Audioオブジェクトを使用 / 4:Audioオブジェクトを使用し,ファイルはchime1.wav のみ