今日は Fate/Zero の日です。 こういうノリが大切な日です。

タグ:DAZ3D
|
以前からずっと運用してたんですが( 定期的に呼び出し )、Seesaa のページの仕様が 変わったので少し書きなおしました。実行部分は関数にすべきなんですが、ruby はあまり 詳しくも無いので書き足して使っています。countup3.php は、DB 読んでカウントアップ した連番を返す処理が書いてあります( もちろん更新 )
#!/usr/local/bin/ruby print "Content-type: text/html\n\n" # 標準エラー出力の出力先を標準出力に変更 $stderr = $stdout require "cgi" cgi = CGI.new ENV['GEM_HOME']="/home/lightbox/gems" $LOAD_PATH.push('/home/lightbox/lib') require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new #seesaa にログイン page = agent.get("https://ssl.seesaa.jp/www/pages/welcome/login/input") form = page.forms.first form["member__email"] = "メール" form["member__password"] = "パスワード" form.submit page = agent.get("http://winofsql.jp/ruby/countup3.php") $cnt = (page.body).to_i $cnt_t = 3 if ($cnt % $cnt_t) == 0 then # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/cms/home/switch?blog_id=2107032') # 設定ページ page = agent.get('https://blog.seesaa.jp/cms/settings/basics/edit/input') page.parser.encoding = 'utf-8' form = page.forms[1] form["force_reload"] = "1" page = form.click_button(form.buttons[0]) print "seesaa : logicalerror : update : completed<br>" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/cms/home/switch?blog_id=2094199') page = agent.get('https://blog.seesaa.jp/cms/settings/basics/edit/input') page.parser.encoding = 'utf-8' form = page.forms[1] form["force_reload"] = "1" page = form.click_button(form.buttons[0]) print "seesaa : kinsen : update : completed<br>" end if ($cnt % $cnt_t) == 1 then page = agent.get('https://blog.seesaa.jp/cms/home/switch?blog_id=2086898') page = agent.get('https://blog.seesaa.jp/cms/settings/basics/edit/input') page.parser.encoding = 'utf-8' form = page.forms[1] form["force_reload"] = "1" page = form.click_button(form.buttons[0]) print "seesaa : GIMPRO : update : completed<br>" page = agent.get('https://blog.seesaa.jp/cms/home/switch?blog_id=2136480') page = agent.get('https://blog.seesaa.jp/cms/settings/basics/edit/input') page.parser.encoding = 'utf-8' form = page.forms[1] form["force_reload"] = "1" page = form.click_button(form.buttons[0]) print "seesaa : instany : update : completed<br>" end if ($cnt % $cnt_t) == 2 then page = agent.get('https://blog.seesaa.jp/cms/home/switch?blog_id=2181378') page = agent.get('https://blog.seesaa.jp/cms/settings/basics/edit/input') page.parser.encoding = 'utf-8' form = page.forms[1] form["force_reload"] = "1" page = form.click_button(form.buttons[0]) print "seesaa : webcraft : update : completed<br>" end
関連する記事 Seesaa のアクセス解析ページからアクセス数と訪問者数を取得する : Ruby+Mechanize
とりあえずうまくいっているようです。特殊な文字をブラウザで送信すると勝手に変換 する事になっているようなので、PHP に届いたらそのままでは、PDF 中の文字列として使 え無いので作成しました。 ※ 非常にベタな内容なので、効率は悪いと思います
$_POST['text'] = mb_convert_encoding( $_POST['text'], "UTF-8", "SHIFT_JIS" ); $len = strlen($_POST['text']); $buf = ""; $wk = ""; for( $i = 0; $i < $len; $i++ ) { $ch = substr( $_POST['text'], $i, 1 ); if ( $ch == '&' ) { $i++; $ch = substr( $_POST['text'], $i, 1 ); if ( $ch == '#' ) { $wk = "&#"; $i++; for( $j = $i; $j < $len; $j++ ) { $ch = substr( $_POST['text'], $j, 1 ); $wk .= $ch; if ( $ch == ';' ) { $wk = mb_convert_encoding( $wk, 'UTF-8', 'HTML-ENTITIES' ); $buf .= $wk; $i = $j; break; } } } else { $wk = '&' . $ch; $buf .= $wk; } } else { $buf .= $ch; } } $_POST['text'] = $buf;
indexOf メソッド (配列) (JavaScript) Three.js のソースを読んでいて存在を知りました。上記リンクは正式ドキュメントですが、 以下のように書かれています。Supported in the following document modes: Internet Explorer 9 standards and Internet Explorer 10 standards. Also supported in Metro style apps. IE9 と IE10 の標準モードと Metro( Windows8 VS11 ) Quirks、Internet Explorer 6 標準、Internet Explorer 7 標準、 Internet Explorer 8 標準の各ドキュメント モードでサポートされてい ません。つまり、IE8 では Three.js で シーンからオブジェクトを削除できない 事になるようですが・・・後で試してみます
サンプルID JavaScript and HTML5 touch game sample オプションの意味についてはこちらのリファレンスを参考にします
<body> <!-- App bar --> <div id="appbar" data-win-control="WinJS.UI.AppBar" aria-label="Command Bar" data-win-options="{ commands:[ {id:'home', label:'Menu', icon:'', section: 'global', onclick: GameManager.navigateHome}, {id:'play', label:'Game', icon:'', section: 'global', onclick: GameManager.navigateGame}, {id:'rules', label:'Rules', icon:'', section: 'global', onclick: GameManager.navigateRules}, {id:'scores', label:'Scores', icon:'', section: 'global', onclick: GameManager.navigateScores}, {id:'credits', label:'Credits', icon:'', section: 'global', onclick: GameManager.navigateCredits}, {id:'newgame', label:'New', icon:'', section: 'selection', onclick: GameManager.game.newGame}, {id:'pause', label:'Pause', icon:'', section: 'selection', onclick: GameManager.game.togglePause} ]}"></div> </body>
"selection"は、選択したオブジェクトのコンテキスト内で表示するように意図されているコマンド のためのものです。"global"は、常に特定のページに表示するコマンドです。 関連する Microsoft の暫定ドキュメント メトロスタイルのアプリ用ナビゲーションの設計 GameManager はオブジェクトでは無く、このアプリで定義されている名前空間です ( メソッドは、default.js 内で定義されているユーザーメソッドです )
WinJS.Namespace.define("GameManager", { navigateHome: navigateHome, navigateGame: navigateGame, navigateRules: navigateRules, navigateScores: navigateScores, navigateCredits: navigateCredits, showPreferences: showPreferences, onBeforeShow: onBeforeShow, onAfterHide: onAfterHide, game: game, state: state, assetManager: assetManager, scoreHelper: scoreHelper, gameId: gameId, touchPanel: touchPanel });
この記事は 2012/4/29 当時の古い記事です。この 1 年後には、Windows8 が追加されて、さすがに Windows2000 は現場から去り、2014/11/26 現在では WindowsXP もサポート外になったので、インターネットから外して、めったに電源が入る事はありません。 先月やっと i5-2500 の PC を買って揃いました。 そもそも、WinXP の乗っている PC では全く IE が使い物にならなくなったので、こうなりましたが、i5-2500 でも IE は遅いですね・・・。 まあ、ブラウザはそれぞれに良いところがあるので、平たく愛でる必要がありますが、メインは Google Chrome です。速さが作業量の命ですし。まだ、Firefox はインストールしていませんが、IE9、Chrome、Firefox の3つは避けては通れないのが実際です。 Win2K はあまり利用価値は無いのですが、ハードディスクが生きている以上いろいろ資料が詰まってはいます。しかし、モニタ切り替えは2台までなので、Win2K には、UltraVNC を入れて Win7 から参照にしました。これが思いの外快適で、動画でも表示しないかぎり、直接動かしてるのと殆ど変らないです。まあ、もともと遅いとは言え、Win2K そのものが XP から比べると軽いですし。WinXP と Win7 のモニタ切り替えで、Win7 が 1024x768 に勝手に戻る問題もなぜか解決しちゃったし、ずっとインストールしたかった、DAZ3D の Genesis も使い始めたし、あとは『ボカロ』買って『光』にすれば・・・・・ やっと平凡になれそうです。
![]()
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります
<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します![]()
|