Debugging AOL桌面浏览器控制台?

Debugging AOL桌面浏览器控制台?,debugging,browser,webbrowser-control,aol-desktop,Debugging,Browser,Webbrowser Control,Aol Desktop,我参与了一个网站的开发,该网站拥有大量的用户,他们通过for Windows查看我们的网站,这会在网站内部生成浏览器窗口。调试时,我没有通常能够调用的工具(例如Chrome的开发者控制台;Firebug;MSIE的F12开发者工具) 在AOL桌面上,我似乎没有这些,或者任何类似的东西。我可以调用、挖掘开发人员模式或控制台吗?我在评论中的意思是,您可以使用Visual Studio附带的带有手动DOM检查功能的非常体面的JavaScript调试器([编辑]包括免费版)。当然,这与IE的F12工具不

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


在AOL桌面上,我似乎没有这些,或者任何类似的东西。我可以调用、挖掘开发人员模式或控制台吗?

我在评论中的意思是,您可以使用Visual Studio附带的带有手动DOM检查功能的非常体面的JavaScript调试器([编辑]包括免费版)。当然,这与IE的F12工具不同,它缺少交互功能,如可视化DOM树、CSS跟踪等。但它仍然允许单步执行代码、观察局部变量和对象、计算表达式和访问DOM元素。这是一个非常宝贵的工具,我经常在托管WebBrowser控件的项目中使用它。毕竟,美国在线也是这样做的。不管怎么说,如果你已经熟悉了这一点,就给这篇文章一个微笑,然后无视它。否则,请继续阅读:)


我使用IE9、Visual Studio 2012 Pro(Update3)和最新的AOL Desktop 9.7在Win7 SP1虚拟机下测试了以下内容[已编辑]它也适用于免费版Update3

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

"C:\Program Files (x86)\AOL Desktop 9.7\" 
    shellmon.exe
    shellmon.ini
    shellrestart.exe
然后,我使用以下基本HTML文件进行调试(作为localhost根目录中的“debug.HTML”):


调试器测试页
函数debugPrompt()
{
如果(确认(“调试”)
{
调试器;//断点
警报(“调试器后”);
}
}
document.onkeydown=函数()
{
if(event.altKey&&event.ctrlKey&&event.keyCode==='D'.charCodeAt(0))
{
event.cancelBubble=true;
debugPrompt();
返回;
}
}
调试
下面是我所做的:

  • 确保Internet Explorer和其他的IE设置中脚本调试已启用


  • 确保在VS2012调试设置的“实时”部分([编辑]此功能在VS2012 Express中缺失,但并不重要)中选中了[x]脚本


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

  • 运行Visual Studio并通过调试/附加到进程菜单附加到
    aolbrowser.exe
    进程(以脚本作为目标代码类型):


  • 返回AOL并点击Ctrl-Alt-D(调用上面列出的JavaScript中的“调试器”提示符)。接下来,我就在VS调试器的
    调试器中代码行。此时,所有常用的调试功能都可用。注意直接车窗面板和Watch1面板。此外,与我使用
    调试器
    关键字硬编码断点不同,可以使用Visual Studio解决方案面板(连接调试器后)选择页面加载的一个JavaScript文件,并以交互方式切换断点


现在,我没有Visual Studio Express 2012来验证它是否可以实现同样的功能,尽管我认为应该可以。我过一会儿再试试

[UPDATE]上述几乎所有内容都适用于免费提供的w/,但有一个例外:即时调试选项似乎不存在。不过,这并不是一个显示障碍,因为它仍然可以连接到正在运行的AOL进程,并以相同的方式调试当前加载的页面


顺便说一句,谢谢你在一个不相关的项目上自愿提供的赏金,这是一个非常好的姿态。

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

据我所知,它只是使用当前安装的IE版本。问题是否发生在同一个系统的IE上,而不是发生在同一个系统的IE上?只是被这个老q绊倒了,因为它的特点是@artlung,你不能用Visual Studio调试器(例如,Express Edition)调试AOL中运行的JavaScript吗?我没有Visual Studio调试器-我拥有的是网站/web应用程序,而不是本机Windows应用程序。这方面的工作流程是什么?如果它是可用的,请回答一个问题?这个问题的目的是给我一个Chrome调试器,MSIE F12 Developer Tools for browser windows驻留在AOL Desktop 9.7中。我将用AOL browser验证我的想法,并将其作为解决方案发布,如果可行的话。下面是另一个与该主题相关的问题。事实上,我通过
window.external
为我们托管WebBrowser控件的项目做了类似的事情。谢谢@Noseratio,我非常感谢!
<!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>