jQueryMobile路由不使用AngularJS

时间:2013-01-15 21:28:59

标签: javascript android jquery-mobile angularjs

我正在使用jQueryMobile编写移动Web应用程序,并且我放入AngularJS来处理数据绑定。但这会在移动设备上引入路由问题。下面是我可以编写的用于重现问题的最小代码。桌面上的Chrome上的一切正常,但是当我从我的Android设备上尝试相同的页面时,我得到了令人讨厌的“错误加载页面”。可以通过使用data-url进行导航来修复问题,但是有问题。我还需要用手机间隙打包它。这意味着html由file://加载,直接导航(data-url)不起作用(我试过)

<!DOCTYPE html>
<html ng-app>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script>

        <script src="https://raw.github.com/tigbro/jquery-mobile-angular-adapter/master/compiled/jquery-mobile-angular-adapter-1.2.0.js"></script>        
    </head>

    <body>
        <div data-role="page" id="main">
            <a data-role="button" href="#sub">sub</a>
        </div>

        <div data-role="page" id="sub">
            <p>sub page</p>
        </div>
    </body>

</html>

单击“子”按钮后,用户应该被定向到主机名/ #sub,它在Chrome上,但在Android上发生了奇怪的事情,浏览器被路由到主机名/#!/%23sub 我想这是URL编码的?

另外我应该指出,通过仅移除角度和JQM角度适配器的两个脚本引用,一切正常(当然没有数据绑定)。

1 个答案:

答案 0 :(得分:1)

我尝试删除angular-jquery适配器,一切都像魔术一样工作。 也没有角度和jquery冲突的问题。