vendors | /vendors/js/ に置いた swf ファイルを読み込まない

43 views
Skip to first unread message

custar

unread,
Sep 11, 2009, 8:36:13 AM9/11/09
to CakePHP-ja
uploadify.swf を javascript と同じディレクトリに置くつもりで、
/vendors/js/uploadify/uploadify.swf に配置すると、
swf ファイルの読み込みに失敗する。

(1) /vendors/js/uploadify/uploadify.swf .................... x
(2) /app/vendors/js/uploadify/uploadify.swf ................ o
(3) /app/webroot/js/uploadify/uploadify.swf ................ o

(1) の失敗は

// cake/dispatcher.php
function dispatch()
{
...
if ($this->cached($url))
{
$this->_stop();
}

cached() 内の mime type のチェックで swf がはじかれていることが原因。

$assets = array(
'js' => 'text/javascript',
'css' => 'text/css',
'gif' => 'image/gif',
'jpg' => 'image/jpeg',
'png' => 'image/png'
);

この中に swf が含まれていないから。

'swf' => 'application/x-shockwave-flash'

# Web server MIME types required for serving Flash movies
# http://kb2.adobe.com/cps/415/tn_4151.html

を追加すれば難なく通るが、では、(2),(3) では何故出て来ないのか。

(1) は cake アプリケーション全体に適用可能なので、キャッシュさせとこう
というところだろうが、(2),(3) では何故このチェックが働いていないのか?
Reply all
Reply to author
Forward
0 new messages