我已经接管了 jqueryMobile/phonegap 应用程序的工作。当我从 Firefox 中的源文件://location_to_index.html 运行它时(Chrome 的 Origin null 不允许 Access-Control-Allow-Origin 错误),页面加载正常并运行。
我已使用 rackup 将站点打包为在 heroku 上运行的静态站点, https: //devcenter.heroku.com/articles/static-sites-ruby
当我尝试从本地运行此页面时http://192.168.0.0.1:9292
,页面加载,但出现以下错误
发生意外错误:未捕获的类型错误:无法调用未定义的方法“changePage”
我已经看到一些关于如何使用 changePage 启动 jQueryMobile 和 live 而不是准备好文档的评论,但是我已经让页面从文件运行,所以我不知道为什么这与从服务器运行有什么不同。
我的初始化函数是
var jqMobilePreInit = 函数() { jQuery(document).bind("mobileinit", function() { jQuery.mobile.defaultPageTransition = '幻灯片'; jQuery.mobile.initializePage = false; jQuery.mobile.page.prototype.options.keepNative = "选择、输入、字段集、文本区域、a、按钮"; }); }; var jqInit = 函数() { 设置超时(函数(){ // 仅在不在 phonegap 内时运行。否则由phonegap完成 如果(window.device == null){ 应用程序初始化(); } }, 750); };
应用程序 init 导致构建 historyStack 的函数,它调用 ajax 页面来加载请求并将它们添加到历史记录中。
loadExternalPage(pp[0], function(extLoaded) { setUpPage(pp[0], pp, false); //设置页面 jQuery.mobile.changePage(jQuery("#" + pp[0])); // 调用开关 });
有什么建议么?