Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改MSN聊天状态图标_Javascript_Html_Css_Msn_Msn Messenger - Fatal编程技术网

Javascript 更改MSN聊天状态图标

Javascript 更改MSN聊天状态图标,javascript,html,css,msn,msn-messenger,Javascript,Html,Css,Msn,Msn Messenger,我正在使用此技巧将MSN Messenger集成到我的网站: 它会显示一个带有当前MSN状态的图标,如在线、离开等。我想更改这些图像。有可能吗?第一次回答这个问题时,我大做文章: 到这里: 将重定向到: 这使得检测状态更加容易 我错过了 我看这里: 我选择了状态图标选项,并得到如下代码: <a target="_blank" href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=XXXXXXXXXXX

我正在使用此技巧将MSN Messenger集成到我的网站:
它会显示一个带有当前MSN状态的图标,如在线、离开等。我想更改这些图像。有可能吗?

第一次回答这个问题时,我大做文章:

到这里:

将重定向到:

这使得检测状态更加容易

我错过了

我看这里:

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

<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>
<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>
无论您的状态如何,图像的路径都保持不变

使用纯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="http://messenger.services.live.com/users/XXXXXXXXXXX@apps.messenger.live.com/presenceimage?mkt=en-GB"
     width="16" height="16" />
</a>
<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>
proxymmsnimage.php将执行以下操作:

如果对图像不起作用,头部是否请求或获取http://messenger.services.live.com/users/XXXXXXXXXXX@apps.messenger.live.com/presenceimage?mkt=en GB 根据重定向到的图像(例如Offline.gif),您可以发送自己版本的状态图像以及正确的mime类型(例如image/gif)。 您可以缓存此操作的结果,并且仅在至少经过X个时间(例如2分钟)时更新它。 弄清楚如何检测发送给您的状态图像是目前最困难的部分,这真的很容易