【Javascript】JScript の条件付コンパイルを使う

前回の記事「【MovableType】Twitterのつぶやきをサイドバーに表示する」で使ったソースコードを見ると、次のような不可思議な構文が含まれている。

/*@cc_on
@if (@_win32 && @_jscript_version>4)

var minmax_elements;

(中略)

minmax_scanner= window.setInterval(minmax_scan, minmax_SCANDELAY);
window.attachEvent('onload', minmax_stop);

@end @*/

この不思議な“@”付きの構文は“条件付コンパイル”と呼ばれ、Javascript と JScript の間の数少ない差異の一つだ。これを使うとスクリプトを IE にだけ適用することができるので様々な方面で活用されている(そもそも、IE にだけ特別な処理が必要なことが諸悪の根源ではあるのだが。)

@cc_on ってなに? – Clouder::Blogger
http://blog.clouder.jp/archives/001005.html

一行で IE の JavaScript を高速化する方法 – IT戦記
http://d.hatena.ne.jp/amachang/20071010/1192012056

JavaScriptでIEかどうかをたったの1行で判別する方法:phpspot開発日誌
http://phpspot.org/blog/archives/2007/04/javascriptie1.html

Continue reading

MobileMe で charset 指定のないメールが文字化けする件

100830-0001.png

MobileMe を使っていると、いくつかのメールが文字化けして届くことに気づいた。調べてみると、次の条件が重なった場合に化けるようだ。

  1. メールヘッダの Content-Type 節において charset が指定されていない。
  2. メール本文に ASCII 文字以外が使用されている。
  3. メール本文が UTF-8 以外でエンコードされている。

Continue reading

HTML5 に対応した Youtube 動画を貼る方法

Youtube の動画をブログ等に貼るとき、従来は <object> タグを使って次のように書いていた。

<object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/SuY6wrMDptA&amp;hl=ja_JP&amp;fs=1"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/SuY6wrMDptA&amp;hl=ja_JP&amp;fs=1"
type="application/x-shockwave-flash" allowscriptaccess="always"
allowfullscreen="true" width="640" height="385"></embed>
</object>

これは Flash による再生にしか対応していないし、お世辞にもきれいなタグとも言えない(さらに、W3C Validation も通らない。)。そこで、HTML5 版 Youtube にも対応したスマートなタグが推奨されている。

【レビュー】YouTubeビデオの組み込みでHTML5 VideoとFlashの両方をサポートする方法 | ネット | マイコミジャーナル
http://journal.mycom.co.jp/articles/2010/07/26/youtube-for-flash-and-html5/index.html

<iframe class="youtube-player"
width="640" height="385"
src="http://www.youtube.com/embed/SuY6wrMDptA"
frameborder="0"
></iframe>

Continue reading

公式 Tweet Button は HTML5 用?

ページを構成する HTML の正当性を検査してくれるサービスとしては W3C Markup Validation Service が便利だ。

The W3C Markup Validation Service
http://validator.w3.org/

以前このサイトは XHTML 1.0 で構築し、W3C Validation Service でも確認をとっていたのだが、「【MovableType】Twitter のつぶやきをサイドバーに表示する」で紹介した Tweet Button を設置したあたりからおかしくなった。原因はコードに出てくる data-xxxx 属性だ。

Continue reading

【MovableType】Twitter のつぶやきをサイドバーに表示する

Twitter のログをブログに表示してみた記録。基本的には簡単。ジェネレータで生成した HTML を貼り付けるだけだ。

[Movable Type] Twitterウィジェットをサイドバーに追加してみた – No Second Life
http://www.ttcbn.net/no_second_life/2009/02/movable-type-twitter.html

だけどそのままでは味も素っ気もない。読み込みが終わるまで空欄のままだし、表示も白黒になってしまう。ある程度整形して表示するようにしてみた。

Continue reading