このページの目次

IE 7 以下で data スキームを URI 利用する

概要

このライブラリーを使用すると IE 7 以下でも data スキーム URI を使う方法をエミューレートすることができます。(data スキーム URI については IE 7 以下で data スキーム URI を利用する方法と、data スキーム URI についてで解説をしています。)

  • PHP を使用するので、PHP が動く環境で動作します
  • 現バージョンでは大きな画像には対応していません。data スキーム URI の文字数が 4096 文字を超える場合の解決策は次回以降対応予定です。

PHP でやっていることの解説は Development Reference の中の人がそのうちエントリーすると思います。

使い方

HTML の head 要素内になどで detaScheme.htc を JavaScript として読み込みます。

e.g.

<script type="text/javascript" src="js/detaScheme.htc"></script>

detaScheme.htc と同じディレクトリに detaScheme.php を配置します。

以上です。これで、IE 7 以下でも data スキーム URI を用いた画像を表示することができます。

解決予定の問題 (2009 年 2 月 18 日現在)

IE では src 属性値が 4096 文字を超えると 4097 文字目以降は削除されて処理されてしまうようです。おそらく、IE が text/html として受け取った時点で削除されていそうです。4096 文字以上の src 属性値を持つ画像に対して getAttribute(’src’) や、 img.outerHTML で src 属性値の取得をしようとしてみましたが 4096 文字までしか取得できませんでした。この問題は IE 8 では解決されています。

そのため長い文字列、つまり大きい画像の data スキーム URI は対応できなさそうです。ただ、今後改善できるようにがんばってみます。

ただ、RFC2397 には

could be used for a small inline image in a HTML document. (The embedded image is probably near the limit of utility. For anything else larger, data URLs are likely to be inappropriate.)

と書いてあります。でもせっかくなら大きい画像にこそ使いたいので。



トラックバックURI

http://www.yomotsu.net/lab/javascripts/ie6_data-cheme/trackback

コメント

tomoさんからのコメント

2009年7月10日 0:21

はじめまして。
非常に興味深い記事で是非、データをダウンロードしてみたいと思ったのですが、どうやらデッドリンクの様です。
事情あっての事かもしれませんが、よろしければダウンロードできるようにしていただけると嬉しいです。

adminさんからのコメント

2009年7月10日 23:01

@tomo さま

はじめまして。お読みくださりありがとうございます。

ダウンロード用のファイルを再度アップロードしましたのでお試しください !!

データURIスキーム | MOLさんからのコメント

2010年4月7日 19:20

[...] IE 7 以下で data スキームを URI 利用する | ヨモツネット [...]

コメントフォーム

コメント

コメントでは一部の XHTML タグを使用できます。 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

実験室に戻る

あわせて読みたい

著作権情報等

CC 2004 yomotsu-net, Some Rights Reserved.