- 2009年1月 9日 01:58
- つぶやき
HTML に Embed された Flash に引数を渡す方法には二通りあるらしい。
一つは、 Flash の URI に QueryString を含める方法。もう一つは HTML ソース上で FlashVars 引数に乗せる方法。
後者は具体的には以下のような感じ。
<object いろいろ>
<param name="movie" value="path/to/flashfile.swf">
<param name="flashvars" value="name=arg">
<embed src="path/to/flashfile.swf" flashvars="name=arg" いろいろ></embed>
</object>
というか HTML Embed のデータで引数を渡したいときに前者はおかしいと思うのですが。
URI は QueryString まで含めての URI です。
そしてブラウザは QueryString が異なれば当然のごとく別のリソースとして扱います。
たとえば http://www.google.co.jp/search?q=FOO と http://www.google.co.jp/search?q=BAR はまったく別のリソースとして扱われ、必要に応じてキャッシュされます。
それと同じで、同じリソース(Flash ファイル)を指定したいにも関わらず、引数ごとに URI を変えていると、ブラウザはそれぞれを異なるリソースだと認識し、 Web サーバーからダウンロードします。
この場合ダウンロードした結果は同じファイルなんですが、引数を変えるたびにダウンロードが発生するわけで、レスポンスが低下します。Flash の性質によってはあまりわからないと思いますが。
ちなみに QueryString として設定された引数をその都度 Flash (のActionScript)に提供しているのは Flash Player です。
以上、断定口調で書いたのですが、実際には一般論なので間違いがあったら指摘とかくださるとありがたいです。
QueryString で指定したほうがよい場合があるのか、それとも Flash Player が何らかの形でキャッシュの問題を乗り越えているのかよくわかりませんが、なるべくなら引数は FlashVers で指定するとよいよということで。
- Newer: Photolog ?
- Older: Windows 7 Beta is Now Avairable!