以前、「studylog(スタログ)」でiKnow!の学習時間を入力するためのブックマークレットを作成しましたが(参照)、数日前からstudylog側の学習時間入力画面のHTMLが変わったため、使えなくなってしまっていました。まずは取り急ぎ修正しました。
studylog(スタログ)でiKnow!の学習時間を入力するためのブックマークレット
注意点(前回の記事と同様です)
- studylogでは「参考書」としてiKnow!の学習時間を管理することになりますが、参考書のテキスト名には「iKnow」(または「smart.fm」)の文字列を入れておいてください。
- これを元に、自動入力するフォーム部品を探します。
- studylogでは勉強時間を「5分単位」で入力するようになっているため、iKnow!での学習時間は5分単位で切り捨てした時間が設定されます。
- ただし、「0分より上、かつ、5分未満」の場合のみ「5分」として扱います。
- このブックマークレットでは、studylogの画面上のフォームに学習時間を設定することしか行いません。学習時間の送信は行いません(自分でボタンを押して送信してください)。
- ブックマークレットの冒頭に「javascript:(function(){var uid=''||~」という感じで「uid」という変数を定義していますが、ここに自分のiKnow!のIDを入れてください(「var uid='en45'」のように)。
- そうしないと、ブックマークレット実行時に毎回自分のIDを入力しないといけなくなります。
オリジナルのJavaScript
var uid = '' || window.prompt('iKnow! ID:', 'en45'); var date = $('#input_form input[name=date]').val(); if (date) { $.get('http://api.iknow.jp/users/' + uid + '/study_results/iknow.json?v=2', function(data) { $.each(data.study_results, function(i, item) { if (date === item.date) { var min = item.seconds / 60; var hh = Math.floor(min / 60); var mm = (Math.floor(min % (60) / 5) * 5) || ((hh === 0 && min > 0) ? 5 : 0); $('div.main_text_book').each(function() { var e = $(this).find('img[alt]').filter(function() { return ($(this).attr('alt').search(/iKnow|smart\.fm/i) >= 0); }); if (e[0]) { e.end().end(). find('select[name^=timeperday_hour_]').val(((hh < 10) ? Ɔ' : '') + hh).end(). find('select[name^=timeperday_minute_]').val(((mm < 10) ? Ɔ' : '') + mm); return false; } }); } }); }, 'jsonp'); }
0 件のコメント:
コメントを投稿