/******************************************************************** * SendModule1.7.2 for GameRankingSystem 1.7.1998 Toshirou Takahashi * ------------------------------------------------------------------ * * わかってるバグ * ... * * * 更新履歴 * 1.10.1999--1.7.2IEの時にGRS_infomationsがGameページへ出力されて * しまうのでIEの文字化けバグが直るまで使わないこと * にする(復活はいつになることやらf^^;) * 1. 7.1999--1.7.1ちょっと整理^^; * 1. 7.1999--1.7--ver1.6のIEの文字化け対策が効かないf^^;ので廃止。 * かわりに萩原さん直伝の裏技を使用。 * IEの時にinsertAdjacentHTMLでGame側のHTMLへ書出。 * Gameへの影響の様子見。 * 12.25.1998--1.6--IEの文字化け対策でMETAタグのCHARSET=x-sjis追加。 * 12.21.1998--1.5--MacPPC+NN4でclick()送信不能の為submit()に変更。 * 12.16.1998--1.3--エラーダイアログ出力を止め、エラーログを記録。 * またきてね〜でサブウインクローズ。 * 12.12.1998--1.2--ゲームと同じウインドウ内に送信フォームやお知らせ * を出力するとゲームのじゃまだったり^^;、frame内の * ゲームだとランキングが見にくくなったりするので送 * 信フォームやランキングを送信ウインドウ出力に変更。 * 12.11.1998--1.1--送信後Backボタンを押した時に同じスコアで再送信し * てしまうのを送信後GRS_sendflagを立てることで回避。 * (完全ではない^^;;のでinfoが必要かも) * * ------------------------------------------------------------------ * 変数GRS_scoreにスコアを入れてゲーム終了後GRS_sendScore()を起動す * るように設定してください。GRS_sendScore()が起動されると名前入力な * どのダイアログが出てその後ランキングcgiにデータが送信されます。 * ** * エラー処理用ファンクション * GRS_myOnError() //エラー取得とエラー出力停止 * GRS_msgArray //エラーメッセージ * GRS_urlArray //エラーurl * GRS_lnoArray //エラー行番号 * GRS_recError() //エラー記録 * GRS_errorLog //エラー内容 ** * 送信用HTML出力ファンクション * GRS_mkSenderHTML() * GRS_infomations //お知らせ(ローカル) * GRS_gameCgiUrl //スコアの送信先(ローカル) * GRS_gameID //このjsの呼び出し元GRSmodule***.jsへCGIから出力(グローバル) * GRS_sendHTML //送信用FORMのHTML(ローカル) * GRS_sendFormOj //送信用FORMの出力先oj(NNはsunWin,IEはself)(グローバル) ** * スコア送信用ファンクション * GRS_sendScore() * GRS_name //プレイヤーの名前(ローカル) * GRS_namemsg //プレイヤーの名前入力に関する説明文(ローカル) * GRS_email //プレイヤーのE-mail(ローカル) * GRS_emailmsg //プレイヤーのE-mail入力に関する説明文(ローカル) * GRS_comment //コメント(ローカル) * GRS_commentmsg //コメント入力に関する説明文(ローカル) * GRS_score //Gameスコア変数(グローバル) * GRS_sendflag //Gameスコア送信済みフラグ(グローバル) ** * スコア送信用FORM * document.GRSscoreTo.GRSscore //スコア * document.GRSscoreTo.GRSscoreName //名前 * document.GRSscoreTo.GRSemail //E-mail * document.GRSscoreTo.GRScomment //コメント * document.GRSscoreTo.GRSsend //送信ボタント * document.GRSscoreTo.GRSerror //error ** * GRS_playID   //プレイ1回毎に一意のID*未使用 * * ------------------------------------------------------------------ * Toshirou Takahash tato@fureai.or.jp */ /******************************************************************** * エラー処理 * ------------------------------------------------------------------ */ //window.onerror = GRS_myOnError var GRS_msgArray = new Array() var GRS_urlArray = new Array() var GRS_lnoArray = new Array() function GRS_myOnError(msg, url, lno) { GRS_msgArray[GRS_msgArray.length] = msg GRS_urlArray[GRS_urlArray.length] = url GRS_lnoArray[GRS_lnoArray.length] = lno GRS_recError() return true } var GRS_errorLog =""; function GRS_recError() { for (var i=0; i < GRS_msgArray.length; i++) { GRS_errorLog += GRS_urlArray[i]+'
' GRS_errorLog += GRS_lnoArray[i]+'
' GRS_errorLog += GRS_msgArray[i]+'

' } } /******************************************************************** * 送信用FORMのHTMLを出力 * Syntax : GRS_mkSenderHTML(出力先oj) * ------------------------------------------------------------------ */ var GRS_score; var GRS_sendflag=false; var GRS_sendFormOj; function GRS_mkSenderHTML(GRS_subwinoj){ var GRS_infomations='' +'' +'' +'' +'' +'' +'' var GRS_gameCgiUrl='http://web01.fureai.or.jp/~tato/GameWeb/GameCenter/GRS'+GRS_gameID+'/GRS'+GRS_gameID+'.cgi' var GRS_sendHTML='' +GRS_infomations +'






' +'






' +'






' +'






' +'
'; if(document.layers){ GRS_subwinoj.document.open("text/html"); GRS_subwinoj.document.write(GRS_sendHTML); GRS_subwinoj.document.close(); GRS_sendFormOj=GRS_subwinoj.document.GRSscoreTo } if(document.all){ document.body.insertAdjacentHTML('BeforeEnd',GRS_sendHTML) GRS_sendFormOj=self.document.GRSscoreTo } } /******************************************************************** * 名前等入力してスコアを送信 * Syntax : GRS_sendScore() * ------------------------------------------------------------------ */ function GRS_sendScore(){ GRS_mkSubWin("","GRSwin",0,0,500,100); GRS_nwin.opener=self GRS_mkSenderHTML(GRS_nwin); GRS_sendflag=false; var GRS_name = 'ななしのごんべえ'; var GRS_namemsg = 'あなたの得点は' + GRS_score + '点でした(^^)/~\n' + 'ランキングへ送るなら' + '名前を入力してください'; var GRS_emailmsg = ''; var GRS_email = ''; var GRS_commentmsg = ''; var GRS_comment = ''; if(!!(GRS_name=prompt(GRS_namemsg,GRS_name))){ if(document.layers||document.all)GRS_nwin.resizeTo(500,400) GRS_emailmsg = 'Emailアドレスを入力できます。\n' + '入力しなくてもかまいません。\n'; GRS_email = prompt(GRS_emailmsg,GRS_email); GRS_commentmsg = 'コメントも入力できます。\n' + '入力しなくてもかまいません。\n'; GRS_comment = prompt(GRS_commentmsg,GRS_comment); with(GRS_sendFormOj){ GRSscore.value = GRS_nwin.opener.GRS_score; GRSscoreName.value = GRS_name; GRSemail.value = GRS_email; GRScomment.value = GRS_comment; GRSerror.value = GRS_errorLog; } GRS_sendFormOj.submit(); setTimeout('GRS_sendflag=true',1000); }else{ alert('またきてねー(^^)/~'); if(document.layers||document.all)GRS_nwin.close(); } } /******************************************************************** * 簡易サブウインドウを開き * Syntax : GRS_mkSubWin(URL,winName,x,y,w,h) * 例 : GRS_mkSubWin(winIndex,'test.htm','win0',100,200,150,300) * ------------------------------------------------------------------ */ var GRS_nwin; function GRS_mkSubWin(URL,winName,x,y,w,h){ //--パラメーターの指定 var GRS_para ="" +" left=" +x +",screenX=" +x +",top=" +y +",screenY=" +y +",toolbar=" +0 +",loction=" +0 +",directories=" +0 +",status=" +0 +",menubar=" +0 +",scrollbars=" +1 +",resizable=" +1 +",innerWidth=" +w +",innerHeight=" +h +",width=" +w +",height=" +h GRS_nwin=window.open(URL,winName,GRS_para); GRS_nwin.opener=self; GRS_nwin.focus(); }