GCalendar Holidaysを「繰り返し」の予定に対応させました

祝日などのGoogleカレンダーの予定をYUI2やjQuery UIのDatepicker上に表示するGCalendar Holidaysですが、Googleカレンダーで「繰り返し」の予定を登録した場合は正しくDatepicker上に表示されないとrainさんから教えてもらいましたので、修正しました。修正後のバージョンは0.5.1です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

また、最近知ったのですが、GCalendar Holidaysで使っているGoogle Calendar API V2って既にDeprecatedで来年で廃止になるみたいですね。じゃあ最新のV3に移行すればよいかというと、V3は認証があるみたいなので、うーん、どうしましょうね。

4 Replies to “GCalendar Holidaysを「繰り返し」の予定に対応させました”

  1. はじめまして。
    サンプル「jQuery UI Datepickerに祝日を表示するのサンプル」をクリックすると、祝日が反映されたカレンダーが正しく表示されますが、自分のPCに、「gcalendar-holidays.js」を配置して、作成したHTMLを表示しても、土日のみ色変更されて、祝日が取得、色変更されません。
    どういった理由が考えられますでしょうか?

  2. watariさん、こんにちは。
    コメントありがとうございます。

    コードを見ないとなんとも言えないのですが、例えば jQuery+jQuery UIの読み込み、gcalendar-holidays.jsの読み込みの順番が、サンプルと違うということはないでしょうか。
    (もしページ表示時にカレンダーを表示させてる場合は、その表示処理はgcalendar-holidays.jsの読み込みの後にする、という順番もあります。)

  3. こんばんは。
    お返事ありがとうございます。
    コードは下記になります。(”
    <html lang=”ja”>
    <head>
    <title>Datepicker

    <!– jQuery UIのCSSファイルの読み込み –>
    <link rel=”stylesheet” href=”http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/flick/jquery-ui.min.css” />

    <style>
    .ui-datepicker select.ui-datepicker-year, .ui-datepicker select.ui-datepicker-month {
    width: auto;
    }
    .ui-datepicker select.ui-datepicker-month {
    margin-left: 1em;
    }
    </style>

    </head>
    <body>

    <script src=”http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js”>
    <script src=”http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js”></script>
    <script src=”http://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-ja.min.js”>
    <script src=”./js/gcalendar-holidays.js”>

    <script>
    $(function() {
    $(“#datepicker”).datepicker({
    //inline: true,
    showButtonPanel: true,
    firstDay: 0,

    changeYear: true,
    changeMonth: true,

    minDate: new Date(2014, 1 – 1, 16),
    maxDate: new Date(2014, 8 – 1, 15)
    });
    });
    </script>

    <input id=”datepicker”>
    </body>
    </html>

  4. watariさん、こんばんは。
    コード見ました。
    (記号が全角になってたり、閉じタグが消えてたりしてますが、おそらくWordPressへのコメント投稿の際に勝手に変換されたものだと思うので補完して見ました。)
    コードとしては問題ないと思います。

    で、これを確認する際に気づいたのですが、もしかしたらこのHTMLはWebサーバではなく、ローカルのファイルを直接ブラウザで表示してますか?
    と、言うのは、HTMLのURLが http または https で始まることを前提に作ってあるので、 file で始まるURLだとGoogleカレンダーからデータを取得できないのです。

    そこで、fileで始まるURLでも動くように改良しました。バージョン0.5.2です。

    もしローカルで動かしていた場合はこれで試してみてください。
    そうじゃなくて、Webサーバ上で動かしている場合は…何でしょうね。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください