与PhoneGap Cordova 1.9.0和Windows Phone 7.1.1一起使用时,jQuery Mobile无法启动

时间:2012-07-06 15:45:42

标签: jquery cordova windows-phone

在Windows 7 Ultimate 64位计算机上与Visual Studio 2010 SP1中的PhoneGap Cordova 1.9.0和Windows Phone 7.1.1一起使用时,我无法让jQuery Mobile初始化和正确启动。

是否有人拥有一个带有测试页面的入门项目模板,该测试页面演示了如何正确设置项目?

2 个答案:

答案 0 :(得分:0)

我不确定这适用于Windows手机,但它有助于iOS和Android:

1)按照此处的说明关闭“自动页面初始化”:http://jquerymobile.com/test/docs/api/globalconfig.html

2)在你的应用的phonegap“deviceinit”处理程序中,调用$ .mobile.initializePage();

问题源于jquerymobile以多种方式重新排列DOM的事实,并且您不希望在手机间隙应用程序准备就绪之前发生这种情况。这是在DOM准备就绪后发生的。

在我的页面中,我在加载jquery mobile之前立即使用

  <script type="text/javascript">
    //this must come before jquery is loaded
    $(document).bind("mobileinit", function(){
        "use strict";
        $.mobile.autoInitializePage = false;
    });
    </script>

在同一页的末尾,我使用它来进行最后的初始化:

  <script type="text/javascript">
    //called on phone when device is full initialized
    document.addEventListener("deviceready",function() {
        "use strict";
        //phone init code that manipulates the DOM...
        $.mobile.initializePage();

    });


    </script>

答案 1 :(得分:0)

您可以通过下载Cordova 2.2.0版本并解压缩来创建自己的模板。在文件夹内有一个名为incubator-cordova-wp7.zip

的子文件夹

解压缩该文件,您将看到一个示例Cordova项目的Visual Studio解决方案 - 打开它。然后在Visual Studio中转到文件&gt;导出模板并使用默认设置。将它保存在您喜欢的任何地方,现在您拥有了模板。

使用这个新模板创建一个新项目,然后按“运行”,您应该在Windows Phone模拟器中看到常用的Cordova起始页。


我遇到了在WP7中使用jquery mobile工作的问题。并非一切似乎都在寻找布局 - 就像并非所有的CSS都被应用,我试图找出如何调试这个东西 - 非常令人沮丧。我很惊讶,因为jqm网站说Windows Phone 7获得了A级支持。我注意到,当从文件或网址加载文件时,某些功能会打开/关闭,例如localStorage的。例如,在IE中打开一个网站,然后在控制台中键入localStorage - 它告诉你它的对象等等等等。从你的硬盘驱动器打开一个html文件,输入localStorage,你什么都没得到。我试过搞乱angularjs和emberjs,他们都在模拟器和IE10中都有问题,所以我觉得WP7 / IE9 /不管怎么样! (IMHO)