2

我有一个自定义 Web 部件,它正在生成一些用户数据。我已经添加了适当的代码来输出标准状态图标和菜单,但是这很奇怪。

我的 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 中,状态信息正确返回并显示图标,但下拉列表在图标上方几英寸处呈现。(见这个截图

任何有关这些问题的帮助或有关向自定义 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>

以上更新均未成功。

4

1 回答 1

5

首先,您将不得不消除您是否有样式问题或 javascript 问题。

如果您的所有存在气泡都正确显示,则获取IE 开发人员工具栏并尝试追溯 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标签。我们使用它,因为这是 SharePoint 生成的 html(请不要让我开始使用)。

于 2009-03-12T23:40:48.027 回答