SQLの窓

2010年02月28日


JavaScript : prototype.js(1.6.1) の Try.these と XMLHttpRequest


var Try = {
	these: function() {
		var returnValue;

		for (var i = 0, length = arguments.length; i < length; i++) {
			var lambda = arguments[i];
			try {
				returnValue = lambda();
				break;
			} catch (e) { }
		}

		return returnValue;
	}
};

XML の HTTP 通信を行う為のオブジェクトを取得する為のメソッドとしてしか使用していないようなのですが、使い方としては引数に無名関数を並べて、その中でオブジェクトを新規作成するコードを書いて return させています。その結果、最初に存在するオブジェクトを返すという処理になります。

実際は以下のように使われています
var Ajax = {
	getTransport: function() {
		return Try.these(
			function() {return new XMLHttpRequest()},
			function() {return new ActiveXObject('Msxml2.XMLHTTP')},
			function() {return new ActiveXObject('Microsoft.XMLHTTP')}
		) || false;
	},

	activeRequestCount: 0
};

一つ目は、Mozilla 系のブラウザ用で、二つ目が IE 用。三つ目は相当古い Windpos 用でほぼ使われないはずです。ですから、自分で XML の HTTP 通信のオブジェクトを取得したい場合は、IE かそうでないかで普通に取得すればいいと思います


posted by lightbox at 2010-02-28 18:34 | prototype.js | このブログの読者になる | 更新情報をチェックする

2010年02月19日


JavaScript : ブックマークレットに必要な戻り値を戻さない処理の実装方法

一般的な方法として void(0) があり、処理の最後が値を戻さないようにする必要があるので、通常以下のように記述されます。
javascript:処理;void(0);

※ javascript:処理;undefined という記述方法もあります
しかし、void メソッドは引数に処理を引き渡せて、戻り値を戻さないので以下のようにも書けます
javascript:void(処理);

最後の処理が戻り値を返さないメソッドならいいので、void(0) で無く例えば alert("文字列") でもかまいませんが、以下のような書き方もあります
javascript:(function(){処理})();



タグ:javascript
posted by lightbox at 2010-02-19 21:25 | ブックマークレット | このブログの読者になる | 更新情報をチェックする

2010年02月18日


サーバーのログからインジェクションらしきものを選択する正規表現

以下はそれほど厳密ではありません。
%20 がポイントで、これが ? 以降に含まれると怪しいです。

ツールは JGREP2 を使っています。
GET \/\S+\.\S+\?\S+%20


posted by lightbox at 2010-02-18 00:57 | 記録 | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり