chrome用 ATND+(仮設)作りました

先日chromeを使い始めたのですが、
greasemonkeyが無いchromeではATND++を使えません。

コピペして貼り付ける簡単なお仕事をするのは面倒ですが、
chromeの早さになれてしまうとfirefoxに戻るのがためらわれる。
だからと言ってATNDの時のみfirefoxを使うのも面倒ですよね。

ということで chrome のブックマークレットを作成しました。

下のスクリプトをおきにいりに登録してATNDの画面を開いた状態で実行するとgoogleカレンダーボタンが表示されます。
できれば自動実行とかできたらうれしいんだけどなー。
でもエクステンションとかは面倒そうだし、可能なら最寄り駅も表示したいですね。

javascript:(function(){

    var des = "";
    var location = "";
    var start = "";
    var end = "";
    var title_div = document.getElementById("main_title");
    var title = title_div.getElementsByTagName("h1")[0].innerHTML;
    var info_div = null;
    des = des + title + '\n' + title_div.getElementsByTagName("p")[0].innerHTML;
    des = des + '\n' + title_div.getElementsByTagName("a")[0].href;

    var eventId = (title_div.getElementsByTagName('a')[0].href.match(/http:\/\/atnd\.org\/events\/(\d+)/i)||[])[1]||null;
    var divs = document.getElementsByTagName('div');
    for (var i = 0; i < divs.length; i++) {
        var div = divs[i];

        if (div.className.indexOf("info_layout") != -1) {
            info_div = div;

            start = div.getElementsByTagName('abbr')[0].title;
            if (div.getElementsByTagName('abbr').length == 2) {
                end = div.getElementsByTagName('abbr')[1].title;
            }
            else {
                end = start;
            }

            var dds = div.getElementsByTagName('dd');

            des = des + '\n' + "limit:" + dds[1].innerHTML;
            location = dds[2].getElementsByTagName('span')[0].innerHTML.replace(/[()]/g,"");

            des = des + '\n' + "place:" + dds[2].innerHTML.replace(/<\/?span>/g,"");
            if (dds[3].getElementsByTagName('a').length != 0) {
                des = des + '\n' + "url  :" + dds[3].getElementsByTagName('a')[0].innerHTML;
            }
            des = des + '\n' + "admin:" + dds[4].getElementsByTagName('a')[0].innerHTML;
        }
    }

    title = encodeURIComponent(title);
    location = encodeURIComponent(location);
    des = encodeURIComponent(des);

    var link = document.createElement('a');

    link.innerHTML = "<img src='http://www.google.com/calendar/images/ext/gc_button2.gif' border=0></a>";

    link.setAttribute('href',
        'http://www.google.com/calendar/event?action=TEMPLATE&text=' + title
         + "&dates=" + start + "/" + end  + ""
        + "&details=" + des + "&location=" + location + "&trp=false&sprop=&sprop=name") ;

    title_div.appendChild(link);

})();void(0);

Tags: , , , ,

This entry was posted on 月曜日, 12 月 14th, 2009 at 5:16 PM and is filed under ソフトウェア, ツール, 日記. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 Responses to “chrome用 ATND+(仮設)作りました”

  1. Frankie Says:

    Добрый день! < a href=”http://onlylcd.ru/contact/ gavin@onlylcd.ru” >…< /a >

    C наилучшими пожеланиями

  2. NORMAN Says:

    < blockquote >< a href=”http://medicamentspot.com/”>Medicamentspot.com. Canadian Health&Care.No prescription online pharmacy.Special Internet Prices.Best quality drugs. Online Pharmacy. Buy drugs online< /a >

    Buy:100% Pure Okinawan Coral Calcium.Zovirax.Petcam (Metacam) Oral Suspension.Actos.Mega Hoodia.Retin-A.Lumigan.Human Growth Hormone.Synthroid.Prevacid.Valtrex.Zyban.Prednisolone.Arimidex.Nexium.Accutane.

Leave a Reply