わさっきhb

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

時間設定機能完了,ほか

時間設定に取り組んでみました.
URLの中に,特殊な文字列を入れることで,「何分経過後にどのベルを鳴らすか」を指定します.今の段階では,自分の見聞きする経験に基づき,学内外の発表に使えそうなものにしています.

時間設定に取りかかる - わさっき

pオプションについては一つだけ変更しました.index.html?p30を指定したとき,予鈴1が鳴る時間を,開始から15分後としました.
今回のバージョンアップのメインは,きめ細かく,時間設定ができるようにしたことです.
予鈴を7分,発表終了を8分,質疑終了を10分としたいとき,以下のいずれでもかまいません.

構文は次の通りです.

  • URLのうち,最後の「/」以降が時間設定の対象となります.index.htmlのあとに「?」または「#」をつけて,オプションを指定することもできますし,ファイル名の中でオプションを記述するよう,名前を変えてから,ブラウザで開くのでもかまいません.
  • 「3つの整数」「4つの整数」を指定する際の区切り文字は,「,」「-」「_」「 」のいずれかです*1
  • オプションとして認識する文字は,いわゆるASCII文字のみです.
  • 「m=値」または「m値」により,分単位で時間を指定します.値は以下のいずれかです.
    • 8桁の整数: 2桁ずつにわけて,順に予鈴1が鳴るまでの時間,予鈴2が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.
    • 6桁の整数: 2桁ずつにわけて,順に予鈴1が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.予鈴2は無効とします.
    • 4つの整数: 順に予鈴1が鳴るまでの時間,予鈴2が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.
    • 3つの整数: 順に予鈴1が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.予鈴2は無効とします.
  • 「s=値」または「s値」により,秒単位で時間を指定します.値は以下のいずれかです.
    • 16桁の整数: 4桁ずつにわけて,順に予鈴1が鳴るまでの時間,予鈴2が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.
    • 12桁の整数: 4桁ずつにわけて,順に予鈴1が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.予鈴2は無効とします.
    • 4つの整数: 順に予鈴1が鳴るまでの時間,予鈴2が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.
    • 3つの整数: 順に予鈴1が鳴るまでの時間,発表終了の時間,質疑終了の時間とします.予鈴2は無効とします.
  • 時間が0になるような値を指定すると,停止時のフォームに表示されなくなります.例えばindex.html?m,,30,とすると,「発表時間:30分0秒」だけになります.

もう一つ,小さな機能追加をしました.というのも…

アラームを表示するアプリケーションを使っていたのだが、電源節約のために2分間で画面を消すように設定したまま始めてしまったので、2分ごとに操作しないと画面が消えてしまって閉口する :-(

学生発表の初司会 - 武蔵野日記

そうです.座長の友では,画面解像度が小さくなり,座長の友以外のアプリケーションが実行できなくなるかわりに,画面オフにならないのでした.しかし,ブラウザでタイマーを動かすとなると,画面が消えるだとか,スクリーンセーバーが働くだとかいったことが起こり得ます.
そこでzjsでは,時間停止状態のときに出すボタンを一つ,追加しました.青地で「準備OK?」と書かれたボタンを押すと,ポップアップが出ます.

“ライトついてますか記法”とでも呼びましょうか*2.こうして,ブラウザ外の設定変更を,利用者に促すことにしました.
その他の小さな修正箇所です.

  • 文字列またはnullを整数値に変換するmyParseIntについて,"08"を与えると8進数と見なして(さらに,"8"は8進数にない文字なのでその前までを対象として)0を返していました.これは8を返すよう,手直ししました.
  • 変数bell_exampleは,上記オプションに伴いその必要性が下がったと判断し,取り除きました.
  • タイトルバーに関して,「zjs: 発表時間はカウントダウン、質疑時間はカウントアップ」のときにリセットのボタンを押したときにも,「zjs」のみに戻るようにしました.

ファイルはhttp://github.com/takehiko/zjsより取得可能です.

*1:区切りは数字以外なら何でもいいんじゃないかと思って,「path.match(/m=?(\d*)\D(\d*)\D(\d*)\D(\d*)/)」と書いてみると,まったくマッチしませんでした.

*2:ライト、ついてますか―問題発見の人間学