html5 – Sencha Touch App在Windows Phone 8上崩溃

我用Sencha Touch为iOs和Android开发了一个应用程序.现在我想将这些应用程序带到Windows Phone 8.

我将框架迁移到2.2并且一切正常.在Windows 8上的Internet Explorer 10中,该应用程序运行良好.但是当我尝试使用浏览器在Windows手机上打开应用程序时,应用程序始终在同一个操作上崩溃.

我使用卡片布局并手动销毁最后一个视图,因为我使用此过程获得了更好的体验.

我是绝望的,因为我不知道我能在哪里解决它.不幸的是,没有类似Chrome的开发者控制台.从我的manully bugfixing我知道javascript代码工作,直到和被调用函数.

我也尝试使用PhoneGap构建应用程序并且存在相同的问题.

有没有人知道,如果卡布局和Windows Phone 8中的Ext.Js容器有问题?

另外,是否有人知道在Windows Phone 8上检查HTML / CSS / Javascript代码的好方法?也许就像在iPad上一样.

解决方法

我按照以下链接中的步骤成功地在Windows Phone 8上部署了一个sencha touch应用程序:

Deploy Sencha touch app on Windows Phone

我在安装Git后使用以下命令添加了我需要的插件,并将其设置为可从Windows的命令提示符处获得:

cordova plugin add <URL_GIT_REPO>

我没有使用包文件,而是使用了以下命令:

sencha app build native

我使用在路径SenchaTouchAppFolder / build / native / AppName中创建的app.js和app.json文件

还做了以下事情:我必须得到一个开发者帐户,并在安装visual studio 2012 express和windows phone SDK 8后检查设备.

在调试模式下在设备上部署应用程序时,可以在Visual Studio输出窗口中查看异常消息.

首先确保项目包含app.json文件.例如,要在输出窗口中构建解决方案,应显示以下消息:

1> Adding www\app.json

在csproj文件中应包含以下元素:

<Content Include = "www\app.json" /> 
<Content Include = "www\resources\sample\data.json" />

我还修改了以下代码行,以便从cordovalib / XHRHelper.cs文件中的本地存储添加对模型中所需的JSON响应的支持.

var funk = function () {
                        window.__onXHRLocalCallback = function (responseCode,responseText) {
                            alias.status = responseCode;
                            if (responseCode == '200') {
                                alias.responseText = responseText;
                                try {
                                    JSON.parse(responseText);
                                } catch (e) {
                                    Object.defineProperty(alias,'responseXML',{
                                        get: function () {
                                            return new DOMParser().parseFromString(this.responseText,'text/xml');
                                        }
                                    });
                                }
                                Object.defineProperty(alias,'responseJSON',{
                                    get: function () {
                                        return new DOMParser().parseFromString(this.responseText,'text/json');
                                    }
                                });

                            }else {
                                alias.onerror && alias.onerror(responseCode);
                            }

调试css错误的有用工具是仿真工具Internet Explorer 11

F12 > Emulation > Explorer Profile > Windows Phone

此工具也很有用:Remote HTML5 debugging on Windows Phone with weinre

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码