3

ローカル ディスクから HTML ファイルを読み込むコントロールを備えたWPFアプリがあります。WebBrowserHTML ファイルには、一部のユーザーの連絡先カードを表示するために使用される Office Lync プレゼンス ActiveX コントロール ( Name.NameCtrl.1) オブジェクトを作成する JavaScript コードがあります。

オブジェクトは作成されますがPresenceEnabled、名前コントロールのプロパティは常にfalseです。この問題を回避する方法はありますか?

コンピューターに Lync 2013 がインストールされています。Lync 2010 を使用した場合、同じコードが正常に機能しました。

私のブラウザはIE 9で、IE 8 と IE 10 でも同じ問題が発生しました (現在は IE のみを対象としています)。

Javascript コード:

try {
    var presenceObj = new window.ActiveXObject("Name.NameCtrl.1");
} catch (err) { }

function showLync(element) {
    try {
        // Works fine till this part. However, presenceObj.PresenceEnabled is false.
        presenceObj.ShowOOUI("somecalculatedalias", 0, $(element).offset().left, $(element).offset().top);
    } catch (err) {
        // goes into the catch block above with a "Permission denied" error (-2146828218)
    }
}

詳細: HTML ページに MOTW (web のマーク) を追加して、警告なしで表示されるようにし、ページが正しいゾーンに読み込まれることを確認しました。ページのプロパティから: Local intranet | Protected Mode: Off.

この MOTW を削除すると、予想どおり、「セキュリティを保護するために、Web ブラウザでこのファイルが制限されています... (何とか)」という警告が表示されます。ブロックされたコンテンツを許可すると、上記と同じコードが正常に機能し、ShowOOUI 呼び出しから Lync フライアウトが表示されます。

4

2 に答える 2

0

この問題を回避する方法はありますか?

アセンブリにAllowPartiallyTrustedCallers (APTCA) 属性を配置します。

その他の代替手段を次に示します。

于 2013-10-05T23:37:12.853 に答える