Kinopyo's Blog

I love this game.

Archive for 21:38

FlashをダウンロードするChrome Plugin:GetFlash

2010年04月28日

http://ruzanow.ru/extensions/getflash.crx

インストール後Flashがあるサイトに接続すると

アドレスバーの一番右にFlashのアイコンが表示され、

クリックするとサイト内のFlashの上にDownloadのリンクが表示されます。

そのリンクでダウンロードできます。

公式サイトは多分これです。

http://www.chromeplugins.org/google/chrome-plugins/ext-getflash-8721.html

IE6でSSL(https)に接続する時、src属性なしのiframeを使うとセキュリティの警告が出る

2010年04月27日

現象

IE6を使ってSSL(https)経由で接続する時に以下の警告が出るなら

iframeのsrc属性をまずチェックしてください。

security-info


このページにはセキュリティで保護されている項目と保護されていない項目が含まれています。

ダメな書き方

<iframe />
<iframe src="" />

解決策

src属性にちゃんと値を設定するか、javascriptでfalseを指定する

<iframe src="/dummy.html" />
<iframe srec="javascript:false" />

存在しないファイルを指定するとサーバ側のログにエラーが出るかもしれないので、

設定する場合は実際存在するファイルを設定してください。

jQuery blockUI Pluginのバグ:unblock時にマウスカーソルが砂時計のまま(IE, Chrome)

2010年04月26日

下記のURLで試してみればすぐ分かりますが、

表題の通りblockUIで制御したところは解除した後にマウスのカーソルがおかしいです。

IE,FirefoxとChromeでテストした結果、Firefoxは無事のようです。

http://malsup.com/jquery/block/position.html

解決策

jquery.blockUI.jsを開いてreset()のfunctionのところに以下のコードを追加

data.el.style.cursor = 'default';

第三者のソースに手を加えるのはあまりやりたくないけど。

参考サイト

Forbidden

jQuery siblings()とchildren()の内部ソースを見た

2010年04月19日

よく出来ていると思います。

勉強になります。

siblings: function( elem ) {
	return jQuery.sibling( elem.parentNode.firstChild, elem );
},
children: function( elem ) {
	return jQuery.sibling( elem.firstChild );
},

そしてjQuery.sibling()の中身です!

nodeTypeが1の場合はelementノードの意味です。

nはループに使われて、elemは除外する要素です。

例えばsiblings()の場合は自分自身を除外しています。

for文の書き方も覚えとこう、、

javaでのIteratorのhasNext()関数みたいな動きをしていますね。


	sibling: function( n, elem ) {
		var r = [];

		for ( ; n; n = n.nextSibling ) {
			if ( n.nodeType === 1 && n !== elem ) {
				r.push( n );
			}
		}

		return r;
	}

Java:Integer.parseInt時のNumberFormatExceptionについて

2010年04月16日

ハマっちゃったException第二弾です。

実際はハマったワケではありませんが、

一応こんなExceptionがあると。

String blank = "";

int i = Integer.parseInt(blank);

これで余裕に下記のExceptionが出ます。


java.lang.NumberFormatException: For input string: ""

何も考えずにあるJavascriptの処理をJavaに書き換える作業で発生したんです。

JavascriptはブランクをparseIntするとNaN(Not a Number)になるが、

Javaは完全におちますね。。。

Java:List操作時のUnsupportedOperationExceptionについて

久々にJavaを書いたので、表題のExceptionにハマっちゃいました。

こんなコードでした。

String[] array = {"a", "b", "c"};

List<String> list = Arrays.asList(array);

list.add("d");

ちょこっとググッてみたらasListで作ったListに

add()で要素を追加すると上記のExceptionになるそうです。

asListのJavadocでの記載は

指定された配列を基にする固定サイズのリストを返します。返されたリストへの変更は、そのまま配列に書き込まれます。(後は省略)

なるほど。。。

とりあえず深く考えずに下記のように書き換えて回避しました。

String[] array = {"a", "b", "c"};

List<String> list = new ArrayList<String>();

list.addAll(Arrays.asList(array)); 

list.add("d");

jQuery1.3.2 bind時にnamespaceを使うとIE6ではメモリリーク

2010年04月04日

表題の通り、IE6 + jQuery1.3.2の状態でbindする時に

jQueryのnamespaceを使うと確実にメモリリークが発生します。

jQuery1.4.2では発生しないことを確認しました。

メモリリークが発生するコード

$("#foo").bind("change.abc", function(){});

上記”change.abc”のabcがnamespaceです。

それをなくすことでメモリリークは解消されます。

イベントハンドラの中身とは関係ありません。

メモリリークは発生しない

$("#foo").bind("change", function(){});

これはjQueryのbugとして上げられましたが、

完全に修正できなかったみたいです。

http://dev.jquery.com/ticket/4241

当時の担当者のコメントを見ると

I had a really difficult time getting a reliable test case to verify this actually solves the memory leak. r6321 appears to have fixed this issue

「時間ないからちゃんとテストしてない、r6321の対応で解決できたように見える」と、

ずいぶん適当な回答ですよね。。。

Get Adobe Flash playerPlugin by wpburn.com wordpress themes