メイン コーダーズルーム【スクリプト系】 MacIEとsafariでのXMLLoad | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
makitaka | Åê¹ÆNo.28362 投稿日時: 2006-9-1 2:11 |
新米 居住地: 投稿: 21
使用環境:
・WinXPpro ・FlashCS3:AS2、AS3 ・IE6.0 |
MacIEとsafariでのXMLLoad こんにちは、質問させてください。
XMLファイルを4つ作りまして、中身は以下の通りになります。 Titleタグの内容はそれぞれ「データ00」「データ01」「データ02」「データ03」 <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <item> <title>データ01</title> </item> </channel> </rss> これをFlashがXMLを順番に読みこんで、そのデータを順にひとつの変数でもって表示するというのを作ってみたのですが、Windowsでは「データ00データ01データ02データ03」と順に表示しますが、MacのSafari、MacIEでは読み込むたびに順番が変わってしまいます。 これを防ぐ方法はあるのでしょうか? また、XMLはSWFと同ディレクトリ、また別ディレクトリ配置の両パターンで試して見ました。 import xmlParser; pXML = "xm"; this.onLoad = function() { _global.loadXmlData = new Array(); for (var i = 0; i<4; i++) { xml = new XML(); xml.ignoreWhite = true; xml.onLoad = onXMLLoadEnd; xml["host"] = this; xml.load(pXML+i+".xml"); } }; function onXMLLoadEnd(success) { if (success) { var sss = this["host"].getParseXML(this); } else { trace("XML読み込み失敗"); } } var tex = ""; function getParseXML(pcXML:XML):Void { var gXML = new Array(); gXML = new xmlParser(pcXML).xmlParse("nodeName"); _global.loadXmlData.push(gXML.rssData[0]); aa(gXML.rssData[0]["title"].toString()); } function aa(dd) { tex = tex+dd + "\n"; //_root.tec.text = tex; trace(tex) } /****************************************/ また、別の話になりますが、Winで使用できるブラウザ、MacのOpelaとFireFoxでは完全動作するのですが、MacIEになると、スクリプトが永久ループになってしまっているみたいで、「処理速度が・・・」というエラーが出てしまって動作しません。safariは動作はしますが、上記のように不安定な感じです。 これはスクリプトの組み方が悪いのでしょうか? 上記2つとも環境は WIN OS:WindowsXP pro IE6.0 FireFox1.5 Opela9 Flash:Flash8 Pro FlashPlayer:Ver8 Mac OS:OS? MacIE5.2 FireFox1.5 Safari(すみませんVer.未確認です) Opela(すみませんVer.未確認です) FlashPlayer:Flashファイル上で情報を出すと「FlashPlayer8について」とでますが、さらに画面を勧めるとバージョンが7.xxxだったと思います。 ちなみにPlayer9を入れようとしたんですが、ブラウザは閉じているんですが、エラーが出てしまい入れられませんでした。 Macは不慣れなもので。。。。。。すみません。 よろしくお願いします。 |
misshiki | Åê¹ÆNo.28395 投稿日時: 2006-9-1 17:26 |
Bak@Fla名人 居住地: 山奥(ガチで) 投稿: 108
使用環境:
WinXP SP1,FLASH MX2004 ADOBE FLASH PLAYER 9 IE6,FireFox1.5,OPERA9.01 |
Re: MacIEとsafariでのXMLLoad こんにちは。
引用: これをFlashがXMLを順番に読みこんで、そのデータを順 とのことですが、ご提示いただいたソースを参照したところ、 ロードの開始支持はたしかに数字の順番ですが、表示はXML ファイルのロードが完了した順番になっていると思います(即ち コールバックであるonXMLLoadEndが呼ばれた順番)。 これではどうがんばっても順序は不定になってしまうので、例 えば最初のファイルの読み込みが完了したら(コールバックが 呼ばれたら)、次のファイルの読み込み開始を指示するという 芋づる式の処理にするとよいかと思います。 もう1つのMac上での動作不安定についてはちょっと私の知識 ではわかりません。ゴメンナサイ。 |
makitaka | Åê¹ÆNo.28455 投稿日時: 2006-9-4 14:58 |
新米 居住地: 投稿: 21
使用環境:
・WinXPpro ・FlashCS3:AS2、AS3 ・IE6.0 |
Re: MacIEとsafariでのXMLLoad misshikiさん
遅くなりました。 作ったスクリプトを処理をフェーズで分けてから、もう一度見直してみました。 MacIEとかの場合、処理がマルチスレッドになる場合はどうしても結果的に曖昧になってしまうようでした。 とりあえず、処理順序をしっかりと構造を見直して対処できました。 自分のスクリプトを見直すいい機会になりました。 すみません、ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |