在Windows 7 Ultimate 64位计算机上与Visual Studio 2010 SP1中的PhoneGap Cordova 1.9.0和Windows Phone 7.1.1一起使用时,我无法让jQuery Mobile初始化和正确启动。
是否有人拥有一个带有测试页面的入门项目模板,该测试页面演示了如何正确设置项目?
答案 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)