【问题标题】:Browser Console for AOL Desktop?AOL 桌面的浏览器控制台?
【发布时间】:2013-08-14 03:24:42
【问题描述】:

我参与了一个网站的开发,该网站有大量用户通过 Windows 版 AOL Desktop v9.7 浏览我们的网站 - 该网站会在其内部生成浏览器窗口。调试时,我没有通常能够调用的工具(例如 Chrome 的 开发者控制台;Firebug;MSIE 的 F12 开发者工具)。

在 AOL Desktop 中,我似乎没有任何这些或类似的东西。有没有我可以调用的开发者模式或控制台?

【问题讨论】:

  • 据我所知,它只是使用当前安装的任何 IE 版本。是否发生了在同一系统的 IE 上没有发生的问题?
  • 刚刚偶然发现了这个旧 q,因为它具有特色...@artlung,您不能使用 Visual Studio 调试器(例如 Express Edition)调试在 AOL 中运行的 JavaScript 吗?
  • @Noseratio 我没有 Visual Studio 调试器 - 我拥有的是网站/Web 应用程序,而不是本机 Windows 应用程序。那将是什么工作流程?如果可用,请作为问题回答?问题的目标是给我一个 Chrome 调试器,MSIE F12 开发人员工具,用于驻留在 AOL 桌面 9.7 中的浏览器窗口。
  • 我将使用 AOL 浏览器验证我的想法,如果可行,将其作为解决方案发布。
  • 这是另一个interesting idea,与主题相关。实际上,我通过window.external 为我们托管 WebBrowser 控件的项目做了类似的事情。

标签: debugging browser webbrowser-control aol-desktop


【解决方案1】:

以防万一有人来这里寻找信息:AOL Desktop 的最新 9.8 版本现在包括 Chrome 的开发者工具,当您按 F12 时会在新窗口中打开。

【讨论】:

    【解决方案2】:

    我在我的 cmets 中的意思是,您可以使用带有手动 DOM 检查功能的非常不错的 JavaScript 调试器,它附带 Visual Studio([EDITED] 包括免费版)。通过一些技巧,它也适用于 AOL 桌面(多么有趣的软件,顺便说一句:)当然,这与 IE 的 F12 工具不同,它缺乏可视 DOM 树、CSS 跟踪等交互功能等等,但它仍然允许单步执行代码、观察本地和对象、评估表达式和访问 DOM 元素。这是一个非常宝贵的工具,我在托管 WebBrowser 控件的项目中经常使用它。毕竟,这也是 AOL 所做的。无论如何,如果您已经对此很熟悉,请对这篇文章微笑并忽略它。否则,请继续阅读:)


    我在带有 IE9、Visual Studio 2012 Pro (Update3) 和最新的 AOL Desktop 9.7 的 Win7 SP1 VM 下测试了以下内容。 [EDITED]它也适用于免费版Visual Studio 2012 Express for DesktopUpdate3。

    唯一的主要障碍是,在进入调试器大约 20 秒后,AOL 浏览器会自行重启,从而与调试器断开连接。解决此问题的方法是关闭 AOL 并删除以下文件:

    "C:\Program Files (x86)\AOL Desktop 9.7\" 
        shellmon.exe
        shellmon.ini
        shellrestart.exe
    

    然后,我使用以下基本 HTML 文件进行调试(作为 localhost 根目录中的“debug.html”):

    <!doctype html>
    <html>
    <head>
    <title>Debugger Test Page</title>
    <script>
    function debugPrompt()
    {
        if (confirm("debug?"))
        {
            debugger; // breakpoint
            alert("after debugger");
        }
    }
    
    document.onkeydown = function()
    {
        if (event.altKey && event.ctrlKey && event.keyCode === 'D'.charCodeAt(0))
        {
            event.cancelBubble = true;
            debugPrompt();
            return;
        }
    }
    </script>
    </head>
    <body>
    <button onclick="debugPrompt()">Debug</button>
    </body>
    </html>
    

    这就是我所做的:

    • 确保 Script DebuggingInternet ExplorerOther 的 IE 设置中启用


    • 确保在 VS2012 调试设置,即时部分检查了 [x] 脚本[EDITED]此功能是VS2012 Express 中缺少,但这并不重要):


    • 运行 AOL 并导航到 localhost/debug.html。

    • 通过 Debug/Attach to Process 菜单运行 Visual Studio 并附加到 aolbrowser.exe 进程(使用 Script 作为目标类型的代码):


    • 回到 AOL 并按 Ctrl-Alt-D(在上面列出的我的 JavaScript 中调用“调试器”提示)。接下来,我在 VS 调试器中的 debugger; 代码行。此时,所有常用的调试功能都可用。注意 Immediate Window 面板和 Watch1 面板。此外,不像我那样使用 debugger 关键字硬编码断点,可以使用 Visual Studio Solution 面板(一旦附加了调试器)选择由页面并以交互方式切换断点。


    目前,我没有 Visual Studio Express 2012 来验证是否可以使用它,但我认为应该可以。稍后我会试一试。

    [更新] 以上几乎所有内容都适用于免费提供的Visual Studio 2012 Express for Desktop w/Update3,但有一个例外:即时调试选项似乎不存在。不过,这不是一个显示停止器,因为它仍然可以附加到正在运行的 AOL 进程并以相同的方式调试当前加载的页面。

    附言。感谢您自愿为​​不相关的question of mine 提供赏金,这是一个非常好的姿态。

    【讨论】:

    • 感谢@Noseratio,非常感谢!
    猜你喜欢
    • 2018-01-31
    • 2013-01-25
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多