问题描述

我想调试 (检查 DOM,使用交互式 JS 控制台等) 部分由 showModalDialog()创建的模态对话框内的 Web 应用程序。

我找不到使用标准 IE-8 开发人员工具的方法; 对话框没有工具栏,通常的快捷方式 (F12) 不起作用。


另一个 SO 问题 (不幸的是丢失了链接),建议唯一的解决方案是 (或许暂时) 用 old-fashioned window.open()代替 showModalDialog()。如果是这样的话,有没有办法呢?

注意事项:

  • 该应用程序关心传递 dialogArguments 和 showModalDialog 的返回值

  • 我不能使用其他浏览器,FF + Firebug 等

最佳解决思路

如果您打开地址栏,F12 可以启动开发人员工具。

Go Tools / Internet options / Security / (pick the right zone for your site) / Custom Level Under “Miscellaneous” Under “Allow websites to open windows without address or status bars”, choose “Disable”.

资料来源:https://stackoverflow.com/a/10984858/79835

次佳解决思路

我通过在 js 代码中创建一个错误来实现,然后会弹出错误窗口,询问是否要调试脚本。

一种方法是在代码中的某个地方调用 non-existent 方法。

e.g. blabla();

第三种解决思路

当我调试模态窗口时我做的是两件事。

  • 您可以在您的 js 代码中包含指令调试器; 这将阻止 js 的执行,就像你放置了一个断点一样。

  • 您也可以在打开模态窗口之前打开 ie 开发工具,一旦打开窗口,您可以在脚本选项卡中查看生成的代码,添加断点,暂停执行,… 所需的所有内容。

希望有帮助!

第四种思路

你现在可以把 debugger 这个字没有引号放在你的 javascript 里。

IE 和 Chrome 都应该打破它,就像你已经设置了一个断点一样。确保它自己在一条线上。按 F12 打开浏览器调试器,然后刷新页面或触发事件运行您的 JavaScript,并且调试器应自动显示具有断点设置的代码。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。