Windows phone 8 Windows phone 8是否支持基于Dojo toolkit 1.9的Worklight应用程序?

Windows phone 8 Windows phone 8是否支持基于Dojo toolkit 1.9的Worklight应用程序?,windows-phone-8,dojo,ibm-mobilefirst,windows-phone-8-emulator,dojo-1.9,Windows Phone 8,Dojo,Ibm Mobilefirst,Windows Phone 8 Emulator,Dojo 1.9,我正在使用worklight应用程序的默认1.9 Dojo工具包开发它。我的应用程序在Android模拟器和web浏览器模拟器中运行良好。我试图在WindowsPhone8Emulator中测试同一个应用程序,但无法看到整个主页。我只能看到按钮处使用的选项卡栏按钮部分,而无法看到页面中使用的列表项。我的问题是DojoToolkit1.9是否支持WindowsPhone8 我访问了Dojo1.9发布链接,它说Dojo1.9中包含了对WindowsPhone8的支持。如果这是真的,我的应用程序在Wi

我正在使用worklight应用程序的默认1.9 Dojo工具包开发它。我的应用程序在Android模拟器和web浏览器模拟器中运行良好。我试图在WindowsPhone8Emulator中测试同一个应用程序,但无法看到整个主页。我只能看到按钮处使用的选项卡栏按钮部分,而无法看到页面中使用的列表项。我的问题是DojoToolkit1.9是否支持WindowsPhone8

我访问了Dojo1.9发布链接,它说Dojo1.9中包含了对WindowsPhone8的支持。如果这是真的,我的应用程序在Windows phone 8 emulator中失败的原因可能是什么

当我在Worklight项目中创建Windows phone 8环境时,我也得到了以下日志

     [2013-11-12 22:14:08]             Environment 'Windows Phone 8' was created.
     [2013-11-12 22:14:13]             Starting build process: application 'KaiserTestApp', environment 'windowsphone8'
     [2013-11-12 22:14:28]             Windows Phone 8 app may not work well with Dojo toolkit included for this Application.  Use a different Worklight Project, without Dojo toolkit, for Windows Phone 8 apps.
     [2013-11-12 22:14:28]             Application 'KaiserTestApp' with environment 'windowsphone8' build finished.

有一个WP8虚拟机错误,可能会损害ListItem,并可能解释您的问题。要检查您是否陷入了此just monkey修补程序,请以这种方式使用_ItemBase _setSelectedAttr方法,并查看这是否解决了您的问题:

    _setSelectedAttr: function(/*Boolean*/selected){
        // summary:
        //      Makes this widget in the selected or unselected state.
        // description:
        //      Subclass should override.
        // tags:
        //      private
        if(selected){
            var p = this.getParent();
            if(p && p.selectOne){
                // deselect the currently selected item
                var arr = array.filter(p.getChildren(), function(w){
                    return w.selected;
                });
                array.forEach(arr, function(c){
                    this._prevSel = c;
                    c.set("selected", false);
                }, this);
            }
        }
        this.selected = selected;
        //this._set("selected", selected);
    }

如果这解决了您的问题,请告诉我们,我们将看到如何发布Dojo的更新版本,以解决WP8 WM错误。

有一个WP8 VM错误可能会损害ListItem,并可能会解释您的问题。要检查您是否陷入了此just monkey修补程序,请以这种方式使用_ItemBase _setSelectedAttr方法,并查看这是否解决了您的问题:

    _setSelectedAttr: function(/*Boolean*/selected){
        // summary:
        //      Makes this widget in the selected or unselected state.
        // description:
        //      Subclass should override.
        // tags:
        //      private
        if(selected){
            var p = this.getParent();
            if(p && p.selectOne){
                // deselect the currently selected item
                var arr = array.filter(p.getChildren(), function(w){
                    return w.selected;
                });
                array.forEach(arr, function(c){
                    this._prevSel = c;
                    c.set("selected", false);
                }, this);
            }
        }
        this.selected = selected;
        //this._set("selected", selected);
    }


如果这解决了您的问题,请告诉我们,我们将了解如何发布Dojo的更新版本,以解决WP8 WM错误。

您的Worklight版本是什么?它是Worklight的最新版本6。Visual Studio中与Dojo相关的输出视图中有无错误?带有Dojo 1.9的Worklight 6支持Windows Phone 8;Windows Phone 8主题是实验性的。输出视图中没有错误,但我强制将设备主题设置为Iphone,因为我希望外观和感觉像Iphone。我认为这可能是一个原因。我将删除此条件并通知您。您的Worklight版本是什么?它是Worklight的最新版本6。Visual Studio中与Dojo相关的输出视图中的任何错误?带有Dojo 1.9的Worklight 6支持Windows Phone 8;Windows Phone 8主题是实验性的。输出视图中没有错误,但我强制将设备主题设置为Iphone,因为我希望外观和感觉像Iphone。我认为这可能是一个原因。我将删除此条件并让您知道。谢谢您的回复克里斯。。。问题似乎只出现在listitems上。我将测试monkey补丁并让您知道。@Chris-我指的是这个链接的第一个答案“”。我可以用uu“ItemBase u setSelectedAttr”替换“CSS3”吗?原型函数可以用答案中包含的方法替换吗?嗨,Christophe,我不知道如何在我的案例中使用Monkey补丁,所以我在保存在dojo/mobile文件夹中的原始_itemBase.js文件中替换了_setSelectedAttr方法。但是,即使尝试了此操作,链接到选项卡栏按钮的html页面也不会显示。还有其他建议吗?好的。因此,要么您没有遇到我怀疑的问题,要么您的设备使用的是dojo的内置版本,而不是查询修补过的文件?(您可以通过在修补文件中放入某种类型的console.log来检查它是否已实际加载)。我在setSelectedAttr函数中添加了console.log语句,但它没有显示在控制台中。所以,这意味着它使用的是dojo的内置版本。那我该怎么办??在我的项目中有一个www文件夹,其中包含devicetheme.js、core_web_layer.js、mobile_ui_layer.js和dojo.js文件,但我在任何文件中都没有找到此功能。感谢回复Chris。。。问题似乎只出现在listitems上。我将测试monkey补丁并让您知道。@Chris-我指的是这个链接的第一个答案“”。我可以用uu“ItemBase u setSelectedAttr”替换“CSS3”吗?原型函数可以用答案中包含的方法替换吗?嗨,Christophe,我不知道如何在我的案例中使用Monkey补丁,所以我在保存在dojo/mobile文件夹中的原始_itemBase.js文件中替换了_setSelectedAttr方法。但是,即使尝试了此操作,链接到选项卡栏按钮的html页面也不会显示。还有其他建议吗?好的。因此,要么您没有遇到我怀疑的问题,要么您的设备使用的是dojo的内置版本,而不是查询修补过的文件?(您可以通过在修补文件中放入某种类型的console.log来检查它是否已实际加载)。我在setSelectedAttr函数中添加了console.log语句,但它没有显示在控制台中。所以,这意味着它使用的是dojo的内置版本。那我该怎么办??我的项目中有一个www文件夹,其中包含devicetheme.js、core_web_layer.js、mobile_ui_layer.js和dojo.js文件,但我在任何文件中都没有找到这个函数。