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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     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を順番に読みこんで、そのデータを順
にひとつの変数でもって表示するというのを作ってみたのですが、
Windowsでは「データ00データ01データ02データ03」と順に表示し
ますが、MacのSafari、MacIEでは読み込むたびに順番が変わってし
まいます。


とのことですが、ご提示いただいたソースを参照したところ、
ロードの開始支持はたしかに数字の順番ですが、表示は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とかの場合、処理がマルチスレッドになる場合はどうしても結果的に曖昧になってしまうようでした。

とりあえず、処理順序をしっかりと構造を見直して対処できました。

自分のスクリプトを見直すいい機会になりました。
すみません、ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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