2011-02-15 71 views

回答

0

我做了個天翻地覆這個回答第一次:

去這裏:

http://messenger.services.live.com/users/[email protected]/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/[email protected]&mkt=en-GB"> 
    <img style="border-style: none;" 
    src="http://messenger.services.live.com/users/[email protected]/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/[email protected]&mkt=en-GB"> 
    <img style="border-style: none;" 
    src="proxyMyMsnImage.php" 
    width="16" height="16" /> 
</a> 

proxyMyMsnImage.php將做以下事情:

  • 難道一個HEAD請求(或GET,如果不工作)上圖像(http://messenger.services.live.com/users/[email protected]/presenceimage?mkt=en-GB
  • 根據您將圖像重定向到哪個圖像(例如Offline.gif),您可以發送自己版本的狀態圖像,以及正確的MIME類型,例如image/gif
  • 您可以緩存此結果,並且只有在X時間過後(例如2分鐘)才更新它。

搞清楚如何檢測你被送往哪個狀態圖像 最困難的部分 現在真的很容易。