タグ: JavaScript

ドコモのCSSをインラインに埋め込んでくれるPHPライブラリ「toInlineCSSDoCoMo」

 toInlineCSSDoCoMo.tar.gz

HTML::DoCoMoCSS (こっちは元になったPERL版)

 http://ke-tai.org/blog/2008/07/09/toinline/ (記事はこちら:KE-TAI.ORGさん参照) 

インストールは簡単。

# pear install HTML_CSS

で、必要なPEARライブラリをインストールして、ダウンロードしたファイルを展開するだけ。
中に入っている「sample.php」にアクセスすれば、サンプルが表示されるらしい。

require_once ‘../lib/toInlineCSSDoCoMo.php’;

$document = file_get_contents(‘sample.html’);
try {
echo toInlineCSSDoCoMo::getInstance()->setBaseDir(‘./’)->apply($document);
} catch (RuntimeException $e) {
var_dump($e);
} catch (Exception $e) {
var_dump($e->getMessage());
}
?>

以下、仕様の説明。(ゆどうふブログさん(http://d.hatena.ne.jp/Yudoufu/20080709/1215626811)

toInlineCSSDoCoMoの仕様なんですが、はてブとかで「外部参照をインライン化」だと思ってる人とかがいるみたいなので言っとくと、外部参照だけじゃなくて内部参照のsytleタグもよしなにパースしてくれます。

外部参照やstyleタグ指定が複数あってもそれらを全てsytle要素に突っ込んでくれるので、定義が多段になってる状態でもきちんとできます。sytle要素が個別に定義してあるタグでも、ちゃんとマージします。

無論、class指定が複数記述してあっても、*1全部適用します。
 

また、パースし終わった外部参照・内部参照のlinkタグ・styleタグは除去されるので、通常ブラウザベースで開発を行っていても、ざっくりとしたデザインの確認に支障が出ることはありません*2。(除去されないと、専用エミュレータか実機での確認が必要)*3

あと子孫セレクタとかその辺は、結構ちゃんとやってくれます。ただ、ブログにも書いたとおり疑似クラスはa:link,・・・の4つしか対応してません。

一応、それらの疑似クラスは全部内部参照としてCDATAつけてstyleタグに突っ込むようになっています。*4

それ以外はDoCoMoではどのみち無効ということもあって無視しています。

このあたりは、携帯のCSSだし、元々あんまり使ってる人いないようなので、ひとまずざっくり仕様で。

フォームのフリガナを自動入力させる 「フリガナ自動変換スクリプト/AutoRuby.js」

ホームページ制作・運営のヒント(http://ceo.sourcelab.jp/archives/97)

JavaScriptでフリガナを自動入力させることができます。
フォームの入力で漢字いれてフリガナ入れてって、結構面倒です。 

■設置の仕方
以下の2つのJavaScriptをダウンロードしてください。

prototype.js (ダウンロードページ)
auto_ruby.js (ソースそのままダウンロード)

Head内に読み込みます。
<script type=”text/javascript” src=”prototype.js”></script>
<script type=”text/javascript” src=”auto_ruby.js”></script>

名前のフィールドのidを[name]に、フリガナのidをにします。
ただし、フォームのあるページはUTF-8のみの対応です。
(読み込み時 charset=”Shift_JIS”で対応出来る?)

※auto_ruby.jsの上の方に、設定項目があります。
「ふりがな(ひらがな)」で表示したい場合は、var convFlag = 0;
「フリガナ(カタカナ)」で表示したい場合は、var convFlag = 1;
にして下さい。

サンプルファイル(ZIP)