ローカル ディスクから HTML ファイルを読み込むコントロールを備えたWPF
アプリがあります。WebBrowser
HTML ファイルには、一部のユーザーの連絡先カードを表示するために使用される 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 フライアウトが表示されます。