将状态指示符添加到自定义Web部件

Cha*_*lie 2 sharepoint web-parts sharepoint-2007

我有一个自定义Web部件,它生成一些用户数据.我已经添加了相应的代码来输出标准状态图标和菜单,但这是相当有效的.

我的网页部分的渲染html如下:

<span>  
   <a href="http://mysite/Person.aspx?accountname=USERID">USERNAME</a>&nbsp;   
   <img border="0" height="12" width="12" src="/_layouts/images/blank.gif" onload="IMNRC('USEREMAIL')" id="imnUSERID" ShowOfflinePawn="1" />  
</span> 
Run Code Online (Sandbox Code Playgroud)

显然更换了USERID,USERNAME,USEREMAIL等.

问题是双重的.

1)在IE7中,不会检索存在信息.菜单显示正确但图标不显示,当您将鼠标悬停在间隙上时,下拉菜单不提供IM设置.

2)在IE8 RC1中,状态信息正确返回并显示图标,但下拉列表会在图标上方严重的英寸处显示.(见此截图)

任何有关这些问题的帮助,或者有关向自定义Web部件添加状态的其他提示都将受到极大的欢迎.

进展更新

- 为IE7的"可信站点"添加网页 - 什么都没做 - IE8的兼容性视图没有区别. - 更改为id ="CSRP_id,type = sip"在建议中将代码更改为以下内容:

<span>     
<img class="PresenceImage" src="/_layouts/images/imnhdr.gif" onload="IMNRC('USEREMAIL')" name="imnmark" ShowOfflinePawn="1" id="contact_im,type=sip" />     
</span>
Run Code Online (Sandbox Code Playgroud)

以上所有更新均未成功.

Nat*_*Nat 5

首先,您将不得不消除是否存在样式问题或javascript问题.

如果所有存在气泡都正确显示,则获取IE Developer Toolbar并尝试追溯css.甚至可以更改网站的主题,看看你是否得到了不同的结果.

这是我们的html,效果很好

 <span>
 <img width="12" src="/_layouts/images/blank.gif" onload="IMNRC('[USERMAIL]')" id="IMID[GUID]" ShowOfflinePawn=1 alt="Presence bubble">[USERNAME]</span>
Run Code Online (Sandbox Code Playgroud)

注意:

[USERMAIL] =明显[USERNAME] =明显[GUID] =随机guid

另请注意格式错误的img标记,没有结尾"/>"(只是">").我们用这个,因为这是由SharePoint生成的HTML(请不要让我开始对那个).