トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     外部SWFロード時の絶対パス、相対パスでの疑問点
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tak014s
Åê¹ÆNo.11902
投稿日時: 2004-11-1 10:14
新米
居住地: 静岡
投稿: 8
使用環境:
WinXP
Flash MX2004
Flash8
外部SWFロード時の絶対パス、相対パスでの疑問点
現在Webアプリケーション作成のため、外部SWFをロードしてそのSWFを制御しよう(ページ送りなど)としています。
しかし、以下の環境で外部SWFをロードした時、どちらもロードは出来ていますが、絶対パスで指定した場合のみgotoAndStop(x)が効かなく困っています。解決する手段等がありましたら教えてください。

※外部SWFは自動生成のためstop()等は書き込めません。

<環境>
外部SWFを読み込むメインのフラッシュは、Webサーバー上に公開されている状態となっています。
http://localhost/.../index.htmlにEMBEDされている

読み込まれる外部SWFは、同一PC上のどこかに存在しています。

外部SWFがロードされた時に1フレーム目で止めようとすると、
絶対パス:ループする
相対パス:1フレーム目で止まる

<使用しているソース>
slide_set = new MovieClipLoader();
slide_set.onLoadInit = function(target_mc){
//1フレーム目で止める
target_mc.gotoAndStop(1);
}
slide_set.loadClip(path,swf_mc);
野中文雄
Åê¹ÆNo.11904
投稿日時: 2004-11-1 10:32
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 外部SWFロード時の絶対パス、相対パスでの疑問点
読込まれる外部SWFにおけるパス指定は、相対パスで記述するのが通常です。Flash Player 7からは、_lockrootプロパティを使用することも考えられます。
引用:
tak014sさんは書きました:
しかし、以下の環境で外部SWFをロードした時、どちらもロードは出来ていますが、絶対パスで指定した場合のみgotoAndStop(x)が効かなく困っています。解決する手段等がありましたら教えてください。

しかし、以下のご説明からすると、読込むベースのムービーに記述するスクリプトを問題とされているようですね。読込む側からであれば、(その必要があるかは疑問として)絶対パスの指定も可能に思えます。
引用:
※外部SWFは自動生成のためstop()等は書き込めません。

以下のスクリプトのどの部分のパスを、問題とされているのでしょうか? 引数でMovieClipインスタンスを受取っているtarget_mcですか?
引用:
外部SWFがロードされた時に1フレーム目で止めようとすると、
絶対パス:ループする
相対パス:1フレーム目で止まる

<使用しているソース>
slide_set = new MovieClipLoader();
slide_set.onLoadInit = function(target_mc){
	//1フレーム目で止める
	target_mc.gotoAndStop(1);
}
slide_set.loadClip(path,swf_mc);


----------------
 

tak014s
Åê¹ÆNo.11906
投稿日時: 2004-11-1 11:34
新米
居住地: 静岡
投稿: 8
使用環境:
WinXP
Flash MX2004
Flash8
Re: 外部SWFロード時の絶対パス、相対パスでの疑問点
野中様
早速の解答ありがとうございます。

一応念のため、ここで言う絶対パスと相対パスとは、
読み込みたいSWFのPC上のパスを指しています。
例えば
絶対パス:c:\wwwroot\test\swf\test.swf
相対パス:../swf/tes.swf

slide_set = new MovieClipLoader();
slide_set.onLoadInit = function(target_mc){
  //1フレーム目で止める
  target_mc.gotoAndStop(1);
}
slide_set.loadClip(path,swf_mc);

上記ソース上で、変数pathに上記の絶対パス、相対パスを指定しています。

引用:
読込まれる外部SWFにおけるパス指定は、相対パスで記述するのが通常です。Flash Player 7からは、_lockrootプロパティを使用することも考えられます。


外部SWFファイルを読むSWFを「メインSWF」
読み込まれる外部SWFを「選択されたSWF」とします。

絶対パス:c:\wwwroot\test\swf\test.swf
相対パス:../swf/test.swf
メイン :c:\wwwroot\test\main\main.swf

とりあえず、環境によって以下のようになりました。

検証1
メインSWFはWebサーバーで公開 http://localhost/....
選択されたSWFはWebサーバーと同一PC上のどこかに存在する。

絶対パス:選択されたSWFがメインに読み込まれたとき制御不能
相対パス:選択されたSWFがメインに読み込まれたとき制御可能

検証2
メインSWFをローカルで起動 c:\wwwroot\....
選択されたSWFはWebサーバーと同一PC上のどこかに存在する。

絶対パス:選択されたSWFがメインに読み込まれたとき制御可能
相対パス:選択されたSWFがメインに読み込まれたとき制御可能

※ここでいう「制御」とは、gotoAndStop(1)です

というような具合です。
最初の投稿が少し説明不足でした。
野中文雄
Åê¹ÆNo.11909
投稿日時: 2004-11-1 12:43
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 外部SWFロード時の絶対パス、相対パスでの疑問点
話が通じないと思いました。ターゲットパスでなく、URLのパスだったのですね。
引用:
tak014sさんは書きました:
一応念のため、ここで言う絶対パスと相対パスとは、
読み込みたいSWFのPC上のパスを指しています。
例えば
絶対パス:c:?wwwroot?test?swf?test.swf
相対パス:../swf/tes.swf

サーバー上から絶対パスで「制御不能」という結果は、セキュリティの制限に引っかかっていることが推測されます。Flash Playerのセキュリティについて、調べられたらいかがでしょうか?
引用:
検証1
メインSWFはWebサーバーで公開 http://localhost/....
選択されたSWFはWebサーバーと同一PC上のどこかに存在する。

絶対パス:選択されたSWFがメインに読み込まれたとき制御不能
相対パス:選択されたSWFがメインに読み込まれたとき制御可能

検証2
メインSWFをローカルで起動 c:?wwwroot?....
選択されたSWFはWebサーバーと同一PC上のどこかに存在する。

絶対パス:選択されたSWFがメインに読み込まれたとき制御可能
相対パス:選択されたSWFがメインに読み込まれたとき制御可能

※ここでいう「制御」とは、gotoAndStop(1)です


----------------
 

tak014s
Åê¹ÆNo.11911
投稿日時: 2004-11-1 13:34
新米
居住地: 静岡
投稿: 8
使用環境:
WinXP
Flash MX2004
Flash8
Re: 外部SWFロード時の絶対パス、相対パスでの疑問点
すいません。ちょっと慌てて説明不足でした。

引用:
話が通じないと思いました。ターゲットパスでなく、URLのパスだったのですね。


そうですね。セキュリティ制限のことは頭にありませんでした。
セキュリティについて調べてみます。
他のセキュリティ制限を考えると、引っ掛かっていることは想像できますが。。。

引用:
サーバー上から絶対パスで「制御不能」という結果は、セキュリティの制限に引っかかっていることが推測されます。Flash Playerのセキュリティについて、調べられたらいかがでしょうか?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops