【发布时间】: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
我正在使用此技巧将 MSN Messenger 集成到我的网站:http://en.kioskea.net/faq/3987-integrate-msn-chat-on-your-website-or-blog 它显示一个带有当前 MSN 状态(在线、离开等)的图标。我想改变这些图像。有可能吗?
【问题讨论】:
标签: javascript html css msn msn-messenger
我第一次回答这个问题时搞砸了:
去这里:
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。弄清楚如何检测您发送的状态图像是最困难的部分现在真的很容易。
【讨论】: