$ .mobile.loadPage()和$(“linkBtn”)。click()不会在带有phonegap的jquery mobile中加载

时间:2015-03-01 13:35:49

标签: javascript jquery html jquery-mobile

如果用户已经注册,我会在应用启动时强制执行锚点击。 当我这样做并继续使用Page2时,所有脚本src都不会被加载。 我不确定这里有什么问题。我相信我按照手册强行链接..

  • page1.html 是single-paged.html - >应用程序启动时首先加载 - >通过以下页面1.js重定向到 page2.html
  • page2.html 是multi-paged.html

page1.html page2.html 的目的是:

$(document).on('pageinit', function(){
    $.mobile.loadPage("Page2.html");
    $("#startbtn").click();
});

这是page1.html

    <!DOCTYPE html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script type="text/javascript" charset="utf-8" src="jquery.mobile/jquery-1.11.2.min.js"></script>
        <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
        <script type="text/javascript" charset="utf-8" src="jquery.mobile/jquery.mobile-1.4.5.min.js"></script>
        <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.4.5.min.css" />
        <script type="text/javascript" charset="utf-8" src="js/page1.js"></script> 
    </head>
    <body>
        <div data-role="page">
            <a href="page2.html" data-rel='external' data-role='button' id="startbtn">START!</a>
        </div>
    </body>
    </html>

1 个答案:

答案 0 :(得分:0)

我要从Why aren't my scripts and styles loading?

复制粘贴
  

jQuery Mobile的AJAX导航系统仅加载内容   页面包装器,头部的脚本和样式都被丢弃了   您需要计划如何加载和组织这些资产。

更多解释

  

这意味着在头部引用的任何脚本和样式   当通过AJAX加载页面时页面不会有任何影响,但是它们   如果通过HTTP正常请求页面将执行。什么时候   编写jQuery Mobile站点的脚本,需要考虑这两种场景。   在通过AJAX请求时忽略页面头部的原因   是重新执行相同的JavaScript的潜力是非常高的   (在网站的每个页面中引用相同的脚本是很常见的)。   由于尝试解决该问题的复杂性,我们   将执行特定于页面的脚本的任务留给开发人员,   并假设头部脚本只能在每次浏览时执行一次   会话。

可能的解决方案:在父页面中插入样式和脚本(在您的案例中为page1.html)。了解如何在JQM中使用on live方法。