7

IE 10 のリリース プレビュー用の BHO を開発しようとしています。BHO は、javascript が C# 関数を呼び出せるようにする必要があります。

ここで入手可能な指示に従いました:

Javascript からの C# BHO メソッドの呼び出し

これらの手順は、IE 9 でうまく機能します。

残念ながら、IE 10 で作成された最初のタブでしか機能しないことがわかりました。2 つ目以降のタブでは、BHO インターフェイスが Javascript に公開されません。新しいタブが機能する場合もありますが、ほとんどの場合は機能しません。さらに、黙って失敗します。これはプロセス モデルと関係があると思いますが、IE 9 (同じプロセス モデル) でも問題なく動作します。

私が使用しているコードの特定のスニペットは次のとおりです。

private void InstallJSObject(IHTMLWindow2 window)
{
    // Install our javascript object
    IExpando windowEx = (IExpando)window;

    PropertyInfo property = windowEx.GetProperty("myBHO", System.Reflection.BindingFlags.IgnoreCase);
    if (property == null)
    {
        property = windowEx.AddProperty("myBHO");
    }
    property.SetValue(windowEx, this, null);
}

投稿する前に、次のことを調査しました: http://bit.ly/R9qldf

4

1 に答える 1