みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Flash の表示コードをjsファイルにし、外部からの読み込みの形にし

Flash の表示コードをjsファイルにし、外部からの読み込みの形にしたい

Flashを表示させるため、Flash表示用のコードをhtmlファイル内の表示したい箇所に記述してあります。しかし、この表示用コードが長いので、外部ファイルの読み込みという形で処理したいと思い、

HTML内の該当箇所を、↓<body>要素内
<script type="text/javascript" src="js/hoge.js"></script>
として、
hoge.jsファイルには、

if (AC_FL_RunContent == 0) {literal}{{/literal}
alert("このページでは \"AC_RunActiveContent.js\" が必要です。");
} else {literal}{{/literal}
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0',
'width', '625',
'height', '240',
'src', 'Flash16',
'quality', 'best',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'transparent',
'devicefont', 'false',
'id', 'Flash16',
'bgcolor', '#ffffff',
'name', 'Flash16',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'Flash16',
'salign', ''
); //end AC code
}

と記述してあります。
HTML内に記述してある場合は、Flashは表示されるのですが、
外部ファイルで処理するとFlashのところが表示されず、
下にある画像がつまって表示されてしまします。

初心者でどこが悪いのかもわからず、途方に暮れています。
どうぞ、お力添えよろしくお願いします。

追伸
上記の表示用コードのあとに、<noscript>の処理もあるのですが、
これも一緒に外部ファイルに記述することはできるのでしょうか。

投稿日時 - 2010-04-20 18:13:38

QNo.5839499

すぐに回答ほしいです

質問者が選んだベストアンサー

{literal}{/literal}の記述を見ると、元々はSmarty(+PHP)で出力していた内容だと思いますが。
<script type="text/javascript" src="js/hoge.js"></script>
とした段階で、hoge.jsに関してはPHPもSmartyも通常は通りません。
少なくとも原因の一つはそれでしょう。
(すべての原因かも知れません)
{literal}{/literal}を削除してください。

ちなみに<noscript>はスクリプトが動かない場合の処理です。
スクリプトが動かない環境では、<script type="text/javascript" src="js/hoge.js"></script>が評価(読み込み処理)される事はありません。
ということは、<noscript>の処理を外部に書くことはできないということになります。

※元々がSmarty使用のようですので、Smartyには外部ファイル読み込み機能があります。
サーバ上では分離されたファイルを結合して出力するという事はSmartyなら簡単にできます。
{include file="noscript.tpl"}など。

投稿日時 - 2010-04-20 18:30:59

お礼

早速、お返事ありがとうございます!
Smartyまでからんでくる問題なのですね。

Smartyの方の、外部ファイル読み込み機能なども
確認してやってみます。

ありがとうございました!

投稿日時 - 2010-04-20 18:33:33

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問