プロが教える店舗&オフィスのセキュリティ対策術

FLASH(AS2.0)でPHPファイル(実際は該当するxmlを呼ぶ)を読み込むようにするにはどのようにしたらいいのですか?
現状では、ローカルのxmlファイルを読み込むように、
下記のように書いてあります。

var objXML:XML = new XML();
objXML.ignoreWhite = true;
objXML.onLoad = function(success:Boolean):Void {
if(success) {
loadXML(this);
}
}

var menuArray:Array = new Array();
//
function loadXML(objXML:XML):Void {
var dataNode:XMLNode = objXML.firstChild;
var menuNodes:Array = dataNode.childNodes;

for(var i:Number = 1; i <= menuNodes.length; i++) {
var menuNode:XMLNode = menuNodes[i-1].childNodes;
var Name:String = menuNode[0].firstChild.nodeValue;
menuArray[i] = { title:Name};
}
myVars(menuArray);

}
objXML.load("sample.xml");

この状態から、外部<http://aaaa/sample.php>URL
アクセスして、PHPファイルを読み込むにはどのようにしたら
よいのか全くわかりません。

objXML.load("sample.xml");

上記の()の中に直接URLを挿入すると、
ローカルでは確認できるのですが、
ファイルをアップすると、まったく読み込めてはいません。

ActionScriptは全くわからないので、ご教授よろしくお願いいたします。

A 回答 (1件)

> objXML.load("sample.xml");


>
> 上記の()の中に直接URLを挿入すると、
> ローカルでは確認できるのですが、
> ファイルをアップすると、まったく読み込めてはいません。

って,
それを具体的に書けば,

 何某かの XML データをはき出す PHP(sample.php) があって,
 その PHP をロードするように
 
 objXML.load("http://aaaa/sample.php");

 と書いたけど
 SWFをアップしたらSWF上に XML が取得できない。

ということでしょうか?

それ,
ひょっとして別サイト(別ドメイン)の XML を取ってこようとしていませんか?
あえて悪い言い方をすれば,
「他人のデータを盗んで自分のFlash内に表示しようとしている」
ということになるのですが。。。

良い悪いは場合によって変わりますから何とも言えませんが,
そういういわゆる「悪いこと」または「悪用に結びつく可能性がある行為」は,
デフォルトではできないようになってますよ。

Flash Player の クロスドメインのセキュリティポリシー というものです。

もしそうであれば(もし違うドメインのXMLをロードしようとしている場合は)
Googleなどで「クロスドメインポリシーファイル Flash」などと検索してみてください。
http://www.google.co.jp/search?hl=ja&source=hp&q …

この回答への補足

ご回答ありがとうございます。
えっと、すみません、うまく書くことが出来なくて・・・・。

同じドメインのPHPファイルを読み込みます。
ただXMLファイルは何枚も内容の違うものがあって、
それから、自分で選択したデータのXMLファイルをSWF上表示させるようにさせたいらしいのです。。

ですので、objXML.loadではダメなのでは?
と調べていて思ったのですが、
じゃぁ、どうしたら、
URLを読み込みことが出来るのかがわからなくて・・・

お教え願えませんでしょうか?
よろしくお願い致します。

補足日時:2010/04/13 13:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!