あるソフトを使ってFlashのファイルを作ってみました。
構成としてはFlashをindex.htmlに埋め込むような形です。
ローカルでうまく表示されたので、ウェブにアップしました。
それもうまく行きました。
index.htmlにFlash関係のファイルがあると、煩雑なので
Flashに関するファイルはslideというフォルダを作ってまとめました。
そこでindex.htmlにあるパラメーターをhg001.swf⇒slide/hg001.swfに変えました。
ところが、どうしてもフォルダを別にしたindex.htmlからFlashが表示されません。
同フォルダ内にあるindex.htmlからはうまく表示されます。
サンプルを作ってウェブに上げて見ました。
フォルダ構成は勘でわかると思いますが、こちらからご覧ください。
http://suganet.jp/folder.jpg
以下のURLがサンプルです。
①http://suganet.jp/sample/index.html
②http://suganet.jp/sample/slide/index.html
①と②のindex.htmlの違いは
パラメーターが
①slide/hg001.swf
②hg001.swf
になっているだけです。
このようにしても、②では見れて、①では見れないという現象が出てしまいます。
なにか、わかることがあったらお教えください。よろしくお願いします。
> hg001.swfを作り出すソフト
具体的にソフト名を挙げられた方が回答は得やすいと思いますが...。
swf を修正できない旨について、明確に触れておくべきでしょう。
http://suganet.jp/sample/index.html
object タグに
<param name="base" value="." />
と baseパラメータを追加。
embed タグに
<embed src="slide/hg001.swf" base="." (中略) />
と baseパラメータを挿入。
これで、xml は読み込めるようになるはずです。
ただし、jpg を指定しているscenario.xmlの方は、
<file>photo-hg001.jpg</file>
<file>slide/photo-hg001.jpg</file>
いずれで通るのか、確認していませんので、
両方で試されては?
http://www.adobe.com/jp/support/flash/ts/documents/fl0005.html#B...
私はFlashに詳しくありませんが、リクエストヘッダを調べた限り、
/sample/slide/scenario.xmlではなく、/sample/scenario.xmlにGETメソッドを送ってますね。で、/sample/scenario.xmlが見つからなくてエラーになってます。
ダミーURL http://www
すみません。そのGETメソッドというのは、どこにあるのですか? どのファイルを直せばいいのでしょうか?
http://msugai.fc2web.com/web/tips/uri.html
index.html①の位置からみて
一回sampleファルダに移動→ ../
sampleフォルダの下のslideフォルダに移動→ ../slide
slideフォルダ配下のhg001.swfを参照→ ../slide/hg001.swf
../slide/hg001.swfではどうでしょうか?
これはすでにテストしております。
ただいま、また書き換えてみましたが、やはりダメでした。
1.回答者のkroneckerが言ってるのが可能性としては高いような気がします。
もう回答されてると思いますが・・・
パスが通ってないんじゃないですか?
slide/hg001.swf を ./slide/hg001.swf にされたら、どうなりますか?
hg001.swf だけの場合は、ルートになるので、そのまま表示されるのではないかと思います。こちらも ./hg001.swf とされるほうがいいでしょう。
ソースを指定するときは、今、いる所以外のホルダーとかを指定する場合は、./ などを使って、そこまでにいく道を指定してください。
これはすでにテストしております。
ただいま、また書き換えてみましたが、やはりダメでした。
1.回答者のkroneckerが言ってるのが可能性としては高いような気がします。
私はFlashに詳しいわけではないので、本質的な解決法とかは分かりません。GETメソッドというのは言い方が悪かったです。単に/sample/scenario.xmlにアクセスしようとしてファイルが見つからない状態になっているというだけです。Flashの方のパスの設定かなにかに問題があるのではないでしょうか。
とりあえずの解決法なら、次の方法でうまくいくのではないかと思います。
<file>photo-hg001.jpg</file>となっているところを
<file>./slide/photo-hg001.jpg</file>のように変更する。
でもscenario.xmlもslideフォルダに置きたいですよねぇ…flashを作成したソフトでそのあたりの設定はできないんでしょうか…
ダミーURL http://www
flash作成ソフト自体は、余り気の利いたソフトじゃないので、出来ないようです。でも、なんとなく分かってきました。あいにくflashは持ってないので、持ってる友人に見てもらいます。もしかすると、*.swf自体にそのような設定があるのかもしれません。ありがとうございました。
●パスを指定するときに「一階層上に行きすぎてから戻る」ようにすれば動くと思います。お試し下さい。
../sample/slide/hg001.swf(/sampleを追加)
(参考)
ありがとうございます。早速試してみましたが、ダメでした。現在は上記の形でウェブにアップされています。フォルダが違う場合、パラメーターに何か書き込まないとダメなのでしょうか?
クリックするとACTIVE-X云々というようになるのですが。
駄目なほうのファイル
VALUE="../sample/slide/hg001.swf(/"
とか
src="../sample/slide/hg001.swf(/"
とか書いてありますけど、
「 (/」は要らないのでは。
先ほど気づいて直してみました。まだダメです。
(-。-;)
Flash作成にどんなソフトを使っているのか分からないので間違っているかもしれませんが、「flash 外部ファイル」で検索したら次のページが見つかりました。
http://www.fumiononaka.com/TechNotes/Flash/FN0307007.html
読込む外部ファイルのURLは、絶対パスまたは相対パスで指定します。相対パスを使う場合は、FlashのSWFファイルではなく、SWFファイルの埋込まれたHTMLファイルがパスの起点になります。
たぶんHTMLファイルを編集してどうにかなる問題ではないと思います。
はい、僕もそれに気づいて*.jsというファイルを作り、外部ファイルを読み込むようにして見たところです。でも、なかなかうまくいかなくて。
いっそのこと、シナリオなどや画像も含めてひとつの*.swfファイルになってくれればと思います。
http://popup.tok2.com/home2/yosiaki/(ダミー)
フラッシュの配布サイトの設置説明でswfファイルはhtmlファイル
と同じ位置に置いてください、という説明を見かけますが、
hg001.swfで見れて、slide/hg001.swfで見れないということは
そういうことではないでしょうか?説得力が無くてすみません。
7 で、kronecker さんが書かれている
http://www.fumiononaka.com/TechNotes/Flash/FN0307007.html
が原因と対策として正しいかと思われます。
jsファイルは関係ないかと。
まず、hg001.swf 内でxmlの読み込みを行う際
xmlObj.load("scenario.xml"); のように
記述されているところがあるかと思いますが、
これを html を起点として考えると、
xmlObj.load("slide/scenario.xml"); が正しいです。
# swfファイルを生成しているファイルを修正。
次に、xml 内の記述も同様に修正する必要があります。
画像の読み込みは、hg001.swf 内で、
my_mc.loadMovie("sample.jpg"); のように記述されているところが
あると思います。
これも、html を起点として考えるので、
my_mc.loadMovie("slide/sample.jpg"); としなければなりません。
しかし、この外部jpg のパスは、
scenario.xml 内で指定されているわけですから、
scenario.xml 内の
<file>photo-hg001.jpg</file>
の部分を
<file>slide/photo-hg001.jpg</file>
のように変更する必要があります。
以上、2点とも、修正しないと画像は表示されないと思います。
ただし、これだと、/sample/slide/index.html からの読み込みはできません。
/sample/index.html, /sample/slide/index.html どちらからでも
読み込みができるようにするためには、
絶対パスを使用する必要がありますね。
回答ありがとうございます。hg001.swfを作り出すソフトにはそのような機能はないようです、出来上がったhg001.swfのソースを変更することは出来ないのでしょうか? 上記ファイルをメモ帳で見ても、文字化けみたいなのが出てくるだけでhtmやxmlファイルのように修正は出来ないようです。修正できれば何とかなるのですが。。。ちなみに僕はFLASHは持っていません。友人が持ってるので、FDやCDで持っていって修正することは可能です。よろしくお願いします。
> hg001.swfを作り出すソフト
具体的にソフト名を挙げられた方が回答は得やすいと思いますが...。
swf を修正できない旨について、明確に触れておくべきでしょう。
http://suganet.jp/sample/index.html
object タグに
<param name="base" value="." />
と baseパラメータを追加。
embed タグに
<embed src="slide/hg001.swf" base="." (中略) />
と baseパラメータを挿入。
これで、xml は読み込めるようになるはずです。
ただし、jpg を指定しているscenario.xmlの方は、
<file>photo-hg001.jpg</file>
<file>slide/photo-hg001.jpg</file>
いずれで通るのか、確認していませんので、
両方で試されては?
http://www.adobe.com/jp/support/flash/ts/documents/fl0005.html#B...
ありがとうございます。みごと解決しました。感激しております。
実を言うと、Flash作成ソフトの開発者にメールをしたところ「仕様外だ」と逃げられ、カットなってしまい「これぐらい分からないでホントお前は開発者か? 自分で解決してやる」とタンカを切ってしまったところでした。
これで、開発者を見返してやれます。
ほんとにありがとうございます。
ありがとうございます。みごと解決しました。感激しております。
実を言うと、Flash作成ソフトの開発者にメールをしたところ「仕様外だ」と逃げられ、カットなってしまい「これぐらい分からないでホントお前は開発者か? 自分で解決してやる」とタンカを切ってしまったところでした。
これで、開発者を見返してやれます。
ほんとにありがとうございます。