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

时间:2009-03-12 09:48:07

标签: sharepoint sharepoint-2007 web-parts

我有一个自定义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> 

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

问题是双重的。

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

2)在IE8 RC1中,状态信息正确显示并显示图标,但下拉列表会在图标上方显示为严重的英寸。 (see this screenshot

有关这些问题的任何帮助,或者有关向自定义网络部件添加状态的其他提示都会得到很好的接收。

进度更新

- 为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>

以上所有更新均未成功。

1 个答案:

答案 0 :(得分: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>

注意:

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

另请注意格式错误的img标记,没有结尾“/&gt;” (只是“&gt;”)。我们使用它,因为这是由SharePoint生成的html(请不要让我开始使用 )。