« Firefoxビデオアワードの作品が公開されました! | メイン | デュボネ買ってきた! »



ブログ更新できない言い訳ジェネレータ作ったよ!

ホームページを作る人のネタ帳さんのブロガーなら必ず一度はするであろう『更新のいいわけ』について今更考えるが面白かったので『ブログ更新できない言い訳ジェネレータ』を作りました!暇なんですねとか言わないでください。あはは。というか200エントリー目の内容がコレかよ。


これで更新できない言い訳もネタにできるよ!
ちなみにジェネレートされた文章が支離滅裂だったりすることを見なかったことにしていただけるとワタシの心の平安がジェネレートされます(ちっとも面白くない)
ちなみにこのジェネレータ、カスタマイズが簡単なので、スクリプトなども公開してみます。好きなようにいじってみてはいかがでしょうか。そのうち簡単な説明を加えたエントリをポストします。
※配置などはご自身の環境に合わせてください。
ダウンロード
<スクリプトはこちら>

function crtXMLHttpReq(){
    var xmlHttpInst = null;
    try{
        xmlHttpInst = new XMLHttpRequest();
    }
    catch( e ){
        try{
            xmlHttpInst = new ActiveXObject( "Msxml2.XMLHTTP" );
        }
        catch( e ){
            try{
                xmlHttpInst = new ActiveXObject( "Microsoft.XMLHTTP" );
            }
            catch( e ){
                return null;
            }
        }
    }
    return xmlHttpInst;
}

function setField( param )
{
    var selectList = document.selectForm.selectbtn;
    var value;
    for( idx = 0; idx < selectList.length; idx++ ){
        if( selectList[ idx ].checked ){
            value = selectList[ idx ].value;
            break;
        }
    }

    var renderItem = "";
    var xHttpInst  = crtXMLHttpReq();
    if ( xHttpInst ){
        // your place
        var sendUrl = 'http://***/answer.xml';
        xHttpInst.onreadystatechange = function(){
            if ( xHttpInst.readyState == 4 ){
                var xmlData = xHttpInst.responseXML;
                var formList = xmlData.getElementsByTagName( "field" );
                var itemList = formList[ param ].getElementsByTagName( "description" );
                renderItem = itemList[ value ].childNodes[ 0 ].nodeValue;
            }
        }
        xHttpInst.open( "GET", sendUrl, false );
        xHttpInst.send( null );
        $( "setField" ).innerHTML = $( "setField" ).innerHTML + '<br /><br />' + renderItem;
    }
}

function getForm( param )
{
    // if start
    if( param == 0  ){
        $( "setField" ).innerHTML = '';
    }
    // if end
    else if( param >= 4 ){
        $( "curform" ).innerHTML = '<table><tr><td>' + 'できた(゚∀゚)!' + 
        '</td></tr><tr><td align="left"><input type="button" value="もう1回言い訳してみる(゚3゚)" onclick="getForm( 0 )" /></td></tr></table></form>';
        return;
    }

    var renderItem = "";
    var xHttpInst  = crtXMLHttpReq();
    if ( xHttpInst ){
        // your place
        var sendUrl = 'http://***/question.xml';
        xHttpInst.onreadystatechange = function(){
            if ( xHttpInst.readyState == 4 ){
                var xmlData = xHttpInst.responseXML;
                var formList = xmlData.getElementsByTagName( "form" );
                var titleVal = formList[ param ].getElementsByTagName( "title" )[ 0 ].childNodes[ 0 ].nodeValue;
                var itemList = formList[ param ].getElementsByTagName( "description" );
                var itemLen = itemList.length;
                for( idx = 0; idx < itemLen; idx++ ){
                    renderItem = renderItem + 
                    '<tr><td><input type="radio" name="selectbtn" value="' + idx + '" ' + 
                    ( ( idx == 0 ) ? 'checked="checked"' : '' ) + 
                    '/>' + itemList[ idx ].childNodes[ 0 ].nodeValue + '</td></tr>'
                }
                renderItem = '<b>Q' + ( param + 1 ) + '.' + titleVal + '</b><br /><table>'+ renderItem + '</table>';
            }
        }
        xHttpInst.open( "GET", sendUrl, false );
        xHttpInst.send( null );
        $( "curform" ).innerHTML = '<form name="selectForm"><table><tr><td>' + renderItem + 
                                    '</td></tr><tr><td align="left"><input type="button" value=">次へ(ノ∀`)" ' + 
                                    'onclick="setField(' + param + ');getForm(' + ( param + 1 ) + ')"></td></tr></table></form>';
    }
}

function $( param )
{
    return document.getElementById( param );
}

★このコンテンツに目的の情報はありませんでしたか?


[ 最近のエントリーとその関連エントリー ]


[ スポンサードリンク ]

トラックバック

このエントリーのトラックバックURL:
http://mojalog.com/cgi/mt/mt-tb.cgi/200

コメントを投稿

ツリータイプ・カテゴリー

open all | close all

リファラから検索


サイト内検索