22

IE8をお持ちの場合は、MSが追加した非常に便利な機能に気付いたかもしれません。F12を押すと、デバッガーのようなFirebugであるDeveloperToolsがポップアップします。これはデバッグの目的で非常に役立ちます。.NETアプリケーション内のWebBrowserコントロールから開発者ツールをポップアップする方法があるかどうか疑問に思っています。

私の状況は次のとおりです。WebBrowserコントロールが埋め込まれたC#アプリケーションがあります。C#アプリとDHTML Webブラウザーのコンテンツは、ObjectForScripting(C#側)およびwindow.external(DHTML側)インターフェイスを使用して相互に通信するため、全機能をテスト/デバッグ/トラブルシューティングするには、Developerをトリガーする方法が必要です。 WebBrowserコントロール内のツール。これまで、Firebug Liteの使用に制限されていましたが、これは厳しく制限されているか、「デバッガー」を使用してjavascriptのステップデバッグセッションをトリガーします。jsですが、今ではこれらのオプションが非常に面倒になり、FirebugやDeveloperToolsなどを自由に使えるようにすることで得られるすべての機能を使用できなくなっています。

私が本当にやりたいのは、アプリの実行中にWebBrowserコントロール内から開発者ツールをポップアップできるようにすることですが、これを実現する方法はまだ見つかりません。

他の誰かがこの問題に遭遇し、それを実現する方法があるかどうかを知りましたか?

4

5 に答える 5

13

いいえ、他の人が言っているように、これは不可能です。ただし、ほとんどのウィンドウ エラーをカスタム ハンドラに接続する方法があります。ドキュメントの読み込みが完了したら、リスナーをウィンドウにアタッチできます。例えば

webBrowser.DocumentCompleted += (o, e) =>
{
    webBrowser.Document.Window.Error += (w, we) =>
    {
        we.Handled = true;

        // Do something with the error...
        Debug.WriteLine(
            string.Format(
               "Error: {1}\nline: {0}\nurl: {2}",
               we.LineNumber, //#0
               we.Description, //#1
               we.Url));  //#2
    };
};
于 2011-03-13T18:14:26.460 に答える
3

組み込みホストが組み込みの開発者ツールを使用する方法はありません。ただし、デバッグしたい場合は、Visual Studio / windbg をアプリにアタッチできます。さらに悪いことに、「debugger」キーワードを使用してブレークポイントを挿入することもできます。VS では、[debug these code types] の下の [select...] メニューからスクリプトを選択する必要がある場合があります。

于 2009-12-30T21:39:38.013 に答える
1

1 つのオプションは、埋め込みページから子ウィンドウを開くことです。子ウィンドウは IE で開き、開発者ツールが機能します。

window.opener

コンソールで、親を参照してページを操作します。

または、親のコンソールを子のコンソールに置き換えて、それにリダイレクトします。

 var logWindow = window.open();
        logWindow.document.write('<html><head><title>Child Log Window</title></head>\x3Cscript>window.opener.console = console;\x3C/script><body><h1>Child Log Window</h1></body></html>');
        window.onunload = function () {
            if (logWindow && !logWindow.closed) {
                logWindow.close();
            }
        };
于 2014-07-28T21:12:56.303 に答える
0

理想的なソリューションではありませんが、Visual Studio を使用して、Scriptモードでアプリをアタッチおよびデバッグできます。アプリケーションをデバッグしたり、Visual Studio の別のインスタンスを起動したりしないでください。

  • DEBUG > Attach To Process ...
  • Attach toScriptアプリケーションの実行中のインスタンスを選択する必要があります
  • そして最後にAttach
于 2018-06-11T02:22:47.263 に答える