トップ > Flash Lite 2.0 / 3.0 > FL3 | RSS リーダー

FL3 | RSS リーダー

先日エントリした xml 読み込みのサンプルをちょっと発展させて rss リーダーなんかを作ってみようと思った。

しかし、Flash Lite の RSS リーダーって需要あるのかな?
最初にボタンを押さないと読み込めないのがやっぱりネックになってくるよね…。

まぁ、とりあえず、そんな諸事情はさておき検証のためにささっとサンプルを作成。

サンプルではこのブログの RSS を読み込ませているのが、1.000.vc から 1ka2ka.com のデータを読み込むため、課題となるのが異なるドメイン同士での通信ということ。

Flash Lite 2.0 からは、セキュリティー強化されているため、異なるドメイン間でのデータの通信に対して制限がかけられているはず。一応、何も対応処置をせずに異なるドメインの RSS を取得してみたが結果はダメだった…。


<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all" />
    <allow-access-from domain="1.000.vc" />
</cross-domain-policy>

結局、上記のようにクロスドメインポリシー(crossdomain.xml)を設置することで正常に読み込み可能となった。

サンプルのソースはこちら


//CASA Frameworks 1.0.8
import org.casaframework.load.data.xml.XmlLoad;
import org.casaframework.util.XmlUtil;
//変数
var xmlLoad:XmlLoad;
var rssUrl:String = "http://1ka2ka.com/index.xml";
result.htmlText = "";
//初期処理
initStage();
initBtn();
//ステージ設定
function initStage():Void {
	//ステージサイズ
	Stage.scaleMode = "showAll";
	Stage.align = "";
	//画質設定
	_quality = "BEST";
}
//ボタン設定
function initBtn():Void {
	startBtn._focusrect = false;
	startBtn.onRelease = function() {
		loadXML(rssUrl);
		this._visible = false;
	}
	startBtn.onRollOver = startBtn.onDragOver = function() {
		var c:Color = new Color(this.base);
		var ct:Object = {ra: 100, rb: 204, ga: 100, gb: 0, ba: 100, bb: 0, aa: 100, ab: 0};
		c.setTransform(ct);
	}
	startBtn.onRollOut = startBtn.onDragOut = function() {
		var c:Color = new Color(this.base);
		var ct:Object = {ra: 100, rb: 0, ga: 100, gb: 0, ba: 100, bb: 0, aa: 100, ab: 0};
		c.setTransform(ct);
	}
}
//XML処理
function loadXML(xmlUrl) {
	xmlLoad = new XmlLoad(xmlUrl);
	xmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_COMPLETE, "onXmlLoadComplete");
	xmlLoad.start();
}
function onXmlLoadComplete(sender:XmlLoad):Void {
	var xmlObject:Object = XmlUtil.xmlToObject(xmlLoad.getXml())["rss"][0]["channel"][0];
	for (var i = 0; i < 10; i++) {
		var title:String = xmlObject.item[i].title[0].nodeValue;
		var link:String = xmlObject.item[i].link[0].nodeValue;
		var mc:MovieClip = attachMovie("rssBtn", "rBtn" + i, getNextHighestDepth())
		mc._x = 10;
		mc._y = 45 + 18 * i;
		mc.title.text = title;
		mc.url = link;
		mc.onRelease = function() {
			getURL(this.url);
		}
	}
}

この記事をブックマークしておく

コメント:0

コメント投稿

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

この情報を記憶する

トップ > Flash Lite 2.0 / 3.0 > FL3 | RSS リーダー

記事検索
カテゴリ
RSSフィード

このページの先頭へ戻る