Apache flex 如何在Flex应用程序表单中显示MSN状态?

Apache flex 如何在Flex应用程序表单中显示MSN状态?,apache-flex,msn,Apache Flex,Msn,我有一个flex业务应用程序,需要创建一些控件,以显示给定用户的MSN messenger在线、远程等状态的小图片符号 或者,如何在flex表单中插入html页面 MSN站点上有一个HTML代码片段,应该完全按照我的要求执行,如下所示: <a target="_blank" href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=eb892994c712bb83@apps.messenger.live.

我有一个flex业务应用程序,需要创建一些控件,以显示给定用户的MSN messenger在线、远程等状态的小图片符号

或者,如何在flex表单中插入html页面

MSN站点上有一个HTML代码片段,应该完全按照我的要求执行,如下所示:

<a target="_blank" href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=eb892994c712bb83@apps.messenger.live.com&mkt=ru-RU">
    <img style="border-style: none;" src="http://messenger.services.live.com/users/eb892994c712bb83@apps.messenger.live.com/presenceimage?mkt=ru-RU" width="16" height="16" />
</a>
可以在这里找到:


此外,我还需要将此代码段中的eb892994c712bb83替换为用户的cid代码。如何找到知道他/她的MSN帐户名的用户的cid是另一个问题…

好的,调查周和一些结果:

1.NET和JavaScript存在MSN API-可以从ASP.NET服务器端获取状态

2 Microsoft Office附带一个名为Name.NameCtrl的神秘ActiveX控件,可从JavaScript检索MSN用户状态

及 3最简单的方法是在Flex控件上使用htmlText属性,例如在mx:TextArea控件上。将问题中引用的HTML分配给htmlText属性就行了。htmltext属性的全面指南如下:


FlexOutofAir中的HTML支持非常有限

另一个选项是使用控件:

轮询是可选的。侦听器的匿名函数仅用于简洁,不建议用于生产

<s:Image id="msnLiveStatusIcon"
         creationComplete="initStatus()"
         click="openMSNLive()" />
private var userCID:String = "eb892994c712bb83";

protected function initStatus():void {
  var iconURL:URLRequest = new URLRequest("http://messenger.services.live.com/users/" 
    + userCID + "@apps.messenger.live.com/presenceimage?mkt=ru-RU");

  msnLiveStatusIcon.source = iconURL;

  // poll to check for updated status
  var pollTimer:Timer = new Timer(60000); // once a minute
  pollTimer.addEventListener(TimerEvent.TIMER,
    function (e:TimerEvent):void {
      msnLiveStatusIcon.source = null;
      msnLiveStatusIcon.source = iconURL;
    });

  pollTimer.start();
}

protected function openMSNLive():void {
  navigateToURL(new URLRequest("http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee="
    + userCID + "@apps.messenger.live.com&mkt=ru-RU"),
    "_blank");
}