現在、検索結果を表示する AJAX ベースの Web パーツを実装しています。この検索結果にはユーザー名があり、各名前の反対側に OCS プレゼンス インジケーターを表示しています。このインジケーターは IE6 では問題なく動作しますが、IE7/8 では動作しません。
基本的に IE7/8 の問題は、OCS がレンダリングされるが、マウスをその上に置いても何も表示されないことです。ページを下にスクロールしてから OCS アイコンにマウスを合わせると、OCS アクション メニューがユーザー名の反対側に表示されるのではなく、ページの下部に表示されます。
私の AJAX ベースの Web パーツは、jQuery post メソッドを使用してサーバーに要求を送信し、json を受信してから div にレンダリングします。
ユーザー名の HTML は次のようになります。
<nobr>
<span>
<a target='_blank' href='/ViewExpert.aspx?uid=4'>Some Expert</a>
<img height='1' width='3' border='0' alt='' src='/_layouts/images/blank.gif'><a class='ms-imnlink'
onclick='IMNImageOnClick();return false;' href='javascript:'>
<img height='12' width='12' border='0' id='3' ShowOfflinePawn='1' type='smtp' sip='sip@sip.com'
src='/_layouts/images/blank.gif' valign='middle' name='imnmark' alt='No presence information' title=''>
</a>
</span>
</nobr>
上記の HTML がページにレンダリングされた後、次の 2 行のコードを呼び出します。
//have to reset this value, otherwise ProcessImn() fails after next AJAX request
imnCount = 0;
ProcessImn();
IE7/8 で動作しない理由を教えてください。