ろむのシ的メモ+α

Web系のブラウザゲーのツールとか作ったりつくらなかったりしてます

gitとsvnの連携というかメモ

git-svnがインストールされてる前提として・・・

git svn clone -s {svnURI} {outputディレクトリ名} # svnからコピー
git clone --bare {outputディレクトリ名} {outputディレクトリ名.git} # bare化?
chown -R apache:apache {outputディレクトリ名.git}
cd {outputディレクトリ名.git}
git update-server-info

とりあえずこれでOK。
WebDavとかで公開の場合はたとえイントラで使うとしても認証必須。
どうせなら

git svn clone -s --bare  {svnURI} {outputディレクトリ名}

で1発でbare化?させてくれたらいいのに・・・

追記・・・
これだけではまだだめだった・・後で調べよう・・・

mapstarを本家でも動くように修正した。

とりあえず修正した。ついでにこの記事を恒久的なmapstarのリリース場所にすると思う。
バグ報告はブログもしくはgithubのissues・課題で・・・
動作確認ブラウザ

スクリプト
https://github.com/romer/browser-3gokushi-mapstar/raw/master/3gokushi-mapstar.user.js

上記URLからインストールで。
51x51の対応に関しては未定。

ビジネスワールドのグリモンを作ってみた

ブラウザの描画領域内最大まで描画できるようになるグリモンのスクリプトを作ってみた
https://gist.github.com/913429
これのrawからインストール
リサイズに対応してます・・・

firefoxgreasemonkeyという拡張が必要
google chrome→rawクリックでインストール
その他→別のブラウザへ・・・

結構てきとーに作ったので多少の不具合はあるかも・・・?

Opera用Beyondを作ってみた

基本的に中身は同じ
けど若干動作を同じ仕様にするために若干違う・・・
ということで別ファイルとして公開します
まぁどれほどOpera使いの人が居るかはわかりませんが・・・

動作確認したバージョン
Opera:11.10

スクリプトの場所
beyond for Opera
https://github.com/romer/browser-3gokushi-beyond/raw/master/3gokushi-beyond-opera.js


Operaの場合インストールというものは無く
ダウンロードして各自が設定したUserscriptのフォルダに配置してやる必要があります

設定する場所は
設定→詳細設定→コンテンツ→JavaScriptオプション→ユーザーJavaScriptフォルダ
から設定できます

あとOpera版のバグはこちらへお願いします
現時点で動かないと確認不具合

  • 特になし

2010-10-12 17:36更新

2011-04-18 21:43追記

2011-04-20 21:03追記
今回の修正でほぼ全面的に機能するはず。

  • 君主★情報表示機能でのGETを押しても取得が出来ない不具合を修正
  • 領地レベル表示機能でのGETを押しても取得が出来ない不具合を修正

配列初期化時の挙動と「localStorageとXPCNativeWrapper」のその後

まず配列の方から。
配列の初期化で複数個の宣言をした時に挙動が思いがけないものだった。
以下が試したコード

var array = [,,,];
alert(array.length);

Safari,Opera,Firefox,Chromeは全て3でIEだけ4
挙動としてはIEの挙動であって欲しかった・・・・


次にlocalStorageとXPCNativeWrapperの方
MDCにあるXPCNativeWrapperの「XPCNativeWrapperは何をするのか」の説明にはこうある

XPCNativeWrapper は、ラップしたオブジェクトのメソッドとプロパティへのアクセスを制限します。XPCNativeWrapper を通した場合、そのプロパティとメソッドへのアクセスは、IDL で定義されているか、DOM レベル 0 で定義されているものに限定されます。(ただし、いくつかの DOM レベル 0 のプロパティとメソッドは、XPCNativeWrapper 上では動作しません) 特に、JavaScript によって、プロパティを追加した場合や、 __defineGetter__ と __defineSetter__ によって、getter と setter を定義した場合には、 そのオブジェクトに対する XPCNativeWrapper で公開されるようにはなりません。この制約によって、そのオブジェクトに対して IDL で定義されている安全なメソッドに確実にアクセスできるようにします。

XPCNativeWrapper は何をするのか

早速なのでIDLを探してみた
http://mxr.mozilla.org/mozilla-central/source/dom/interfaces/storage/nsIDOMStorage.idl
IDLの中に

/**
 * The number of keys stored.
 */
readonly attribute unsigned long length;

とあるのでIDLに定義されていないわけでは無さそう。
その他の制限事項にも目を通してみたけどそれでも無さそうな感じ・・・
うーんやっぱりバグなのかな・・・