2

これは、テキストフィードからデータを取得し、そのフィード内から株価値を表示するスクリプトです。ムービーをテストするときは問題なく動作しますが、Webページで公開しようとすると、IEまたはChromeでライブデータが表示されません。デフォルトの公開オプションを使用しているだけでなく、基本的にIEでWebページをレンダリングしているデジタルサイネージプレーヤーでも使用しようとしています。

import flash.net.URLLoader;
import flash.net.URLRequest;

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);

function onLoaded(e:Event):void{
    var rawRSS:String = e.target.data;
    var pattern:RegExp = /<TD.*?TD>/sg; 
    var pieces:Array = rawRSS.match(pattern);   
    var CH = pieces[2].split(">");
    var CHR = CH[1].split("<");
    var CHRW:String = String(CHR[0]);
    var CHRWT:String = CHRW.substr(0,5);

    stock_price.text = CHRWT;

    var loc:int = pieces[4].indexOf("+",0);
    var gain:String = String(pieces[4].charAt(loc));
    //trace(gain);

    if (gain == "+"){
        stock_price.textColor = 0x00CC33;
    }
    else {
        stock_price.textColor = 0xFF0000;
    }

}

loader.load(new URLRequest("http://www.nasdaq.com/aspxcontent/NasdaqRSS.aspx?data=quotes&symbol=CHRW"));
4

2 に答える 2

0

Webサーバーからswfを実行する場合、そのドメインがcrossdomain.xmlファイルでデータを許可し、 Nasdaqが許可しない限り、別のドメインからデータをフェッチすることは許可されません。

于 2012-11-28T22:28:54.877 に答える
0

コードの最後の行を見てください。param データをクエスチョン マークに直接付けるべきではありませんか?

ところで、IE8 以前では、プログラムで DOM にアタッチされている場合、イベント ハンドラーを受け入れないことにも気付きました。しかし、あなたはすでにさまざまなブラウザーでテストしたと思います。

于 2012-11-28T21:14:41.020 に答える