如何在 Windows Phone 7 上调试 Internet Explorer?

Posted

技术标签:

【中文标题】如何在 Windows Phone 7 上调试 Internet Explorer?【英文标题】:How do I debug Internet Explorer on Windows Phone 7? 【发布时间】:2011-07-09 02:25:29 【问题描述】:

我不是 Windows Phone 开发人员,我希望尽可能少地处理与 Microsoft 相关的任何事情。尽管如此,我需要让我的移动 Web 应用程序在 Windows Phone 7 上正常运行。该平台有哪些调试工具可用? Webkit 开发者工具或 Firebug 之类的东西是理想的,无论是从手机本身还是更可能是从我的计算机远程调试。

如果不存在这样的东西,我会满足于能够读取 javascript 错误消息,并使用 alert() 或类似方法查看变量的内容。在这一点上,我只知道我的 JS 失败了:我不知道在哪里或为什么,更不用说如何修复它了。

我的开发计算机正在运行 OS X,如果可能的话,我非常希望能够使用 OS X 中的这些工具。假设存在调试工具(我真的希望他们这样做),它们是否仅针对 Windows 设计?如果是这样,有谁知道他们与Wine 或类似的合作情况如何?

编辑:我有一个物理的 Windows Phone 7 设备,所以我可以使用它。但是,alert() 似乎不起作用,这就是我发布这个问题的原因。 alert()在WP7浏览器上正常工作吗?

【问题讨论】:

您有 Windows Phone 7 设备吗?例如您只需要调试流量/UI...还是希望有一个 Windows Phone 模拟器? 【参考方案1】:

您可能会发现Mobile Perf Bookmarklet 是测试任何移动设备的最简单的一体化工具。

到目前为止,在我的测试中,它在 iPhone/iPad/Samsung Galaxy Tab 上运行良好。

引用:

它显示一个菜单,其中包含加载其他书签的链接,包括 Firebug Lite、Page Resources、DOM Monster、SpriteMe、CSSess 和 Zoompf。

【讨论】:

不幸的是,这似乎不包括任何 Javascript 调试工具(例如控制台)。 @jonathanconway 实际上,除非我遗漏了一些东西 Firebug Lite getfirebug.com/firebuglite 确实包含与 Firebug 相同的日志记录功能。 :-)【参考方案2】:

除非您有 Windows Phone 7 设备,否则您需要在 BootCamp 中运行 Windows 并安装 Windows Phone Developer Tools 才能在模拟器上的 IE 中进行测试。我不知道 Whine,但我在尝试在 Parallels 中进行测试时遇到了重大问题 - 因此,根据我的经验,我建议尽可能保持简单。

手机上的 IE 中没有控制台,因此您需要按照您的建议使用警报,或者只是将文本写入页面上的 div 作为自定义控制台。

如果你真的想在 OS X 中编写代码(我完全理解),使用单独的机器在 WP7 模拟器中测试 IE 将是你最好的选择。

编辑:我刚刚测试了警报,它在我的 Windows Phone 上运行良好。我的猜测是语法错误阻止它调用。

【讨论】:

Parallels 也导致我的机器出现问题。我必须使用 Win7 Pro 机器进行 WP7 开发。【参考方案3】:

以下内容可能很有趣

Simple IE debug tool for Windows Phone

支持

html 遍历 HTML 节点样式、属性、指标 读取控制台输出 从控制台(包括智能感知)在设备端执行 js 动态脚本注入 - 能够调试实时站点

不支持

js 断点

【讨论】:

windowsphone.com/en-us/store/app/html-debugger/…【参考方案4】:

只是想添加一个说明,说明现在可以使用 Windows Phone 8.1 和 Visual Studio 2013 Update 2 进行完整的 JavaScript 调试。完整的详细信息可在以下网址获得:

http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/04/diagnosing-mobile-website-issues-on-windows-phone-8-1-with-visual-studio.aspx

我意识到这对原始问题 (WP7) 中引用的版本没有帮助,但我希望这对可能找到此问题并正在运行更新版本的人有所帮助。

【讨论】:

【参考方案5】:

对我有用的是通过 Windows Vista 内置的 Internet Explorer 浏览器测试我的移动页面。 它带有一个脚本调试器(您必须通过 Internet 选项菜单在高级选项选项卡中启用它),它似乎非常接近 Internet Explorer Mobile 的实现。

另一个提示是,除了使用 window.alerts,您还可以使用 document.write 或将输出设置为 div 内容。

【讨论】:

【参考方案6】:

我正在使用这个 hack 让 console.log 将信息发送回服务器(它使用 window.fetch,我正在对其进行 polyfill,但可以使用 xhr)https://gist.github.com/wheresrhys/bf93057ee3a594454582

【讨论】:

以上是关于如何在 Windows Phone 7 上调试 Internet Explorer?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 windows phone 7 上使用压缩音频进行 SoundEffects?

如何在模拟器上获取 Windows Phone 7 中的当前位置

如何检查 HTML5 视频是不是在 Windows Phone 7 上结束?

演示Windows Phone 7在监视器上

windows phone 7 让应用程序在后退按钮上运行

Windows Phone 8 IE10 Javascript 调试