Skip to content

出席ボタン押し忘れ検知機能の追加 #1

@SAYUTIM

Description

@SAYUTIM

暇だったら作ります

機能名

未定

機能概要

出席ボタン押し忘れ検知し、リストアップ化したり、リストから押せば出席できるようにしたり、自動で押せるようにする。

大まかな実装方法

  1. クルムスホーム画面(lms/homeHoml)を読み込んだ時に、全て(あるいは今期履修中科目の)授業カードの授業ID(遷移先)を取得する。
    例:<a href="javascript:void(0);" onclick="formSubmit('KOG00000000xxxxx')"></a>→formSubmit('ID')

    ↓関数の中身

    function formSubmit(kougiId, groupId){
        $('#homeHomlForm').attr('action', '/lms/homeHoml/linkKougi;SID=xxxxxxxx');
        $('#homehomlkougiId:hidden').attr('value', kougiId);
        $('#homeHomlForm').submit();
    }
    
  2. iframeを使用して取得した全ての遷移先IDへアクセス
    1つ1つ開くのではなく一斉に複数のiframeを使用

  3. 出席ボタンの有無をチェック
    出席ボタンがないiframeは捨てる

  4. 出席ボタンがあるiframeは出席ボタンを押す

  5. 確認ダイアログがでるのでOKを押して出席完了
    パスワード入力を求められたり、複数出席できる回がある場合は別途処理を作成

    OKボタンは普通に取得してクリックしようとしても謎のdummyが置かれているので押すことが不可能(意図的な対策か偶然かは知らん)
    専用のiframeを取得することでこれを回避できる
    これを解決する方法はKLPFの自動出席機能のコードに書いてあるのでそのままパクればOK
    200行目辺りのstep4_clickOKButton()関数
    https://github.com/SAYUTIM/KLPF/blob/main/features/attend.js

  6. 終了後全てのiframeを閉じる

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions