【问题标题】:Change MSN chat status icon更改 MSN 聊天状态图标
【发布时间】:2011-02-15 13:15:50
【问题描述】:

我正在使用此技巧将 MSN Messenger 集成到我的网站:http://en.kioskea.net/faq/3987-integrate-msn-chat-on-your-website-or-blog 它显示一个带有当前 MSN 状态(在线、离开等)的图标。我想改变这些图像。有可能吗?

【问题讨论】:

    标签: javascript html css msn msn-messenger


    【解决方案1】:

    我第一次回答这个问题时搞砸了:

    去这里:

    http://messenger.services.live.com/users/XXXXXXXXXXX@apps.messenger.live.com/presenceimage?mkt=en-GB

    会将您重定向到:

    http://www.wlmessenger.net/static/img/presence/Offline.gif

    这使得检测状态变得更加容易!

    我错过了。


    我看过这里:

    http://settings.messenger.live.com/Applications/CreateHtml.aspx

    我选择了状态图标选项,得到的代码如下:

    <a target="_blank" href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=XXXXXXXXXXX@apps.messenger.live.com&mkt=en-GB">
        <img style="border-style: none;"
         src="http://messenger.services.live.com/users/XXXXXXXXXXX@apps.messenger.live.com/presenceimage?mkt=en-GB"
         width="16" height="16" />
    </a>
    

    无论您的状态如何,图像的路径都保持不变。

    使用纯 HTML/CSS/JS (afaik) 无法根据图像中返回的状态来更改图像。 (即使我意识到它会重定向)

    我可以想到一种技术来做到这一点,但它并不容易而且它不太难,但你必须使用服务器端语言,例如 PHP 或 ASP.NET。

    你可以把代码改成这样:

    <a target="_blank" href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=XXXXXXXXXXX@apps.messenger.live.com&mkt=en-GB">
        <img style="border-style: none;" 
         src="proxyMyMsnImage.php"
         width="16" height="16" />
    </a>
    

    proxyMyMsnImage.php 会做以下事情:

    • 对图像 (http://messenger.services.live.com/users/XXXXXXXXXXX@apps.messenger.live.com/presenceimage?mkt=en-GB) 发出 HEAD 请求(或 GET,如果这不起作用)
    • 根据您被重定向到的图像(例如 Offline.gif),您可以发送您自己的状态图像版本以及正确的 mime 类型,例如 image/gif
    • 您可以缓存此结果,并且仅在至少经过 X 时间(例如 2 分钟)时才更新它。

    弄清楚如何检测您发送的状态图像是最困难的部分现在真的很容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多