Weinre与Windows Phone 8连接丢弃?

时间:2013-01-21 15:59:56

标签: cordova windows-phone-8 remote-debugging weinre

我决定尝试使用Weinre来帮助我调试我正在尝试为Windows Phone 8构建的Cordova应用程序;遗憾的是,我遇到了一个奇怪的问题,Windows Phone 8模拟器可以连接到我的本地weinre配置,然后几秒钟后消失...我在另一个Windows 2012上试过这个,我似乎遇到了同样的事情。我甚至尝试使用基础Cordova模板。

因此,当我从VS2012调试我的应用程序时,模拟器启动并且应用程序部署。我知道我不能使用LOCALHOST,所以我的脚本引用是我的计算机或服务器的IP地址。应用程序启动,我可以去Weinre控制台,我看到我有一个连接。但几秒钟后,连接就消失了。似乎仿真器无法保持与weinre的持续连接...仿真器上是否有某种带宽限制器可以切断我的连接?有没有更好的方法来远程调试我应该使用的Win Phone 8应用程序?

更新:我也尝试过诺基亚920,我发现同样的事情......

1 个答案:

答案 0 :(得分:1)

<强> UPDARE

Weinre已修补,现在应该正常工作。我建议从npm尝试最新版本 https://npmjs.org/package/weinre

npm install -g weinre
weinre --boundHost -all-

原始回答

似乎Cordova具体XHR patch打破了我们的逻辑。我在目标脚本中看到了js错误。

我已经为weinre target-script.js添加了快速修复程序,因此您可以将\ target \ target-script.js(或target-script-min.js)替换为以下文件,它应该可以正常工作< / p>

http://dl.dropbox.com/u/23085338/weinre-target-script-min-patched.js

重要即可。必须在cordova.js之前添加Weinre js

但我建议使用以下超级简单的方法将weinre连接到您的页面,无需任何本地设置 - 只需将其添加到您的页面

<script type="text/javascript">
window.WeinreServerId = "wp_test"; // <-- your unique identifier on the server below
window.WeinreServerURL = "http://debug.phonegap.com"; // <-- weinre server to use

// To open debugger use the following uri format - WeinreServerURL/client/#WeinreServerId
// for example http://debug.phonegap.com/client/#wp_test

</script>

<script type="text/javascript" src="http://dl.dropbox.com/u/23085338/weinre-target-script-min.js"></script>

有关常规问题排查,请参阅Windows Phone 8 IE10 Javascript debugging

<强>更新

另一个应该有效的快速修复是替换(在target-script-min.js或target-script.js)

xhr = new XMLHttpRequest();

xhr = (XMLHttpRequest.noConflict ? new XMLHttpRequest.noConflict() : new XMLHttpRequest());