我已经接手了jqueryMobile / phonegap应用程序。 当我从源文件中运行它:// Firefox中的@location_to_index.html(由于Access-Control-Allow-Origin错误,chrome不允许使用Origin null),页面加载正常并运行。
我已将该网站打包为使用rackup在heroku上作为静态网站运行, https://devcenter.heroku.com/articles/static-sites-ruby
当我尝试从http://192.168.0.0.1:9292
本地运行此页面时,页面会加载,但是我收到以下错误
An unexpected error has occurred: Uncaught TypeError: Cannot call method 'changePage' of undefined
我已经看到一些关于如何使用changePage启动jQueryMobile的评论,而不是文档就绪,但是我已经从文件中运行了页面,所以我不知道为什么会有什么不同于运行一台服务器。
我的初始化函数是
var jqMobilePreInit = function() { jQuery(document).bind("mobileinit", function() { jQuery.mobile.defaultPageTransition = 'slide'; jQuery.mobile.initializePage = false; jQuery.mobile.page.prototype.options.keepNative = "select, input, fieldset, textarea, a, button "; }); }; var jqInit = function() { setTimeout(function() { // only run if not inside phonegap. otherwise its done by phonegap if (window.device == null) { appInit(); } }, 750); };
app init指向构建historyStack的函数,它调用ajax页面来加载请求并将它们添加到历史记录中。
loadExternalPage(pp[0], function(extLoaded) { setUpPage(pp[0], pp, false); // set up page jQuery.mobile.changePage(jQuery("#" + pp[0])); // call switch });
有什么建议吗?