クリックでコメント欄へ飛ばしたい

2014年1月22日にA8.netのファンブログはSeesaa Blogのシステムをベースにして生まれ変わりました。よってファンブログ関連の記事は今では当てはまらない可能性があります。新しいファンブログのカスタマイズは別ブログ「ファンブログ テック」で詳しく書いていますので、そちらをご覧ください。

このブログのスキンはホワイトの3カラムをベースに改造したのですが、「続きを読む」の下にある
「コメント(0)」の文字をクリックしても、コメント欄へ飛ばないことに気がつきました。

トラックバックへも飛びません。

コメント欄へのリンク

これは、ファンブログのスキンのバグです。そこで、正しく飛ぶように修正します。

“クリックでコメント欄へ飛ばしたい” の続きを読む

Seesaaのコメント欄でcookieを有効化するスクリプト

Seesaaブログではコメントを投稿しても、名前やメールアドレス、ホームページアドレスなどを
保存してくれません。

コメントするたびに毎回入力するのが面倒なのでcookieで保存するスクリプトを書きました。
サイドバーにソースを貼り付けるだけで使えます。

“Seesaaのコメント欄でcookieを有効化するスクリプト” の続きを読む

ソースコード変換エディタ

ブログにソースコードを貼る時のエンティティ変換エディタです。

以前、「性器表現で痴漢エディタ」という記事でソースコードのタグをエンティティに変換する
スクリプトを公開しました。しかし、そこにスクリプトがあることに気がつく方は少ないようです。

多分、記事のタイトルが悪かったのだと思います。
そこで、その記事中の2つのエディタだけ、ここに再掲します。ご自由にお使いください。

“ソースコード変換エディタ” の続きを読む

Seesaa手芸部もサムネイル導入

2014年1月22日にA8.netのファンブログはSeesaa Blogのシステムをベースにして生まれ変わりました。よってファンブログ関連の記事は今では当てはまらない可能性があります。新しいファンブログのカスタマイズは別ブログ「ファンブログ テック」で詳しく書いていますので、そちらをご覧ください。

Seesaaで公開中のブログ「手芸部」でも、コメント欄にサムネイルを表示するスクリプトを
導入しました。

コメント欄
手芸部
投稿者名の右横にサムネイル画像を表示しています

“Seesaa手芸部もサムネイル導入” の続きを読む

addEventListenerとattachEvent

addEventListenerattachEvent はオブジェクトにイベントを追加する関数です。

この2つは起動時に、window.onload と併用しても使えます。

window.onload は、複数書くと上書きされて消えてしまうため最後の1個だけが作動しますが、この関数を使うことで起動時の関数を複数動作させられます。

addEventListener

addEventListener は Internet Explorer 以外で使えます。

addEventListener(イベント名, イベント発生時に呼び出す関数, イベントの伝達方向)

イベント名には on がつきません。第3引数は通常は false を指定します。
true にすると、イベントが発生した瞬間、バブリングを待たずにイベントを処理できるようになります。

登録した関数は、登録順に実行されます。

例: window.addEventListener(‘load’, function(){alert();}, false);

attachEvent

attachEvent は Internet Explorer と Opera で使える関数で addEventListener と同等の働きをします。

attachEvent(イベント名, イベント発生時に呼び出す関数)

イベント名には on がつきます。

登録した関数の実行順は不規則です。

例: window.attachEvent(‘onload’, function(){alert();});

Internet Explorer とそれ以外のブラウザの両方に対応させるには

function ev(elem, event, func, useCapture){
	if(elem.addEventListener){
		elem.addEventListener(event, func, useCapture);
	}else if(elem.attachEvent){
		elem.attachEvent('on'+event, func);
	}
}

または

function ev(elem, event, func, useCapture){
	try{
		elem.addEventListener(event, func, useCapture);
	}catch(e){
		elem.attachEvent('on'+event, func);
	}
}

という形で関数を作って、次のように使います。

ev(window, 'load', function(){alert();}, false);

window.addEventListenerwindow.attachEvent は、window.onload と一緒に使うことも出来ます。

その場合は、window.onload の後に、この関数でイベントを追加する形になります。
ですから、呼び出される順番は、window.onload で定義した関数より後になります。

起動時に、window.onload と併用する例

<script type="text/javascript">

window.onload=function(){
	/* 既に window.onload で起動スクリプトが指定されているとする */
}

/* 起動時のアクションを追加 */

function ev(event , func, useCapture){
	if(window.addEventListener){ 
		window.addEventListener(event, func, useCapture);
	}else if(window.attachEvent){ 
		window.attachEvent('on'+event, func);
	}
}

function addAction(){
	/* 起動時に実行したい処理 */
}

/* このように関数を別に定義して、関数名を入れても動作する */
ev('load', addAction, false);

</script>