导航时,iPad上的Durandal SPA会进入浏览器

时间:2013-08-23 08:13:30

标签: asp.net ipad durandal

使用Durandal创建ASP.Net SPA。添加了在SPA之前点击的表单登录页面。当在iPad上访问并保存到主屏幕时,它会像本机应用程序一样打开,我可以登录并在打开SPA时仍然保持在同一窗口中。但是一旦我导航到另一条路线,它就会打开Safari。

是否有我缺少的东西或任何我可以避免的方式,如果我能让它看起来像本机应用程序那就太好了。

编辑: 来自Durandal viewmodels文件夹的shell.js所需的逻辑:

define(['plugins/router', 'durandal/app'], function (router, app) {
return {
    router: router,
    activate: function () {
        router.map([
            { route: '', title:'Actions', moduleId: 'viewmodels/actions', nav: true },
            { route: 'welcome', title:'Welcome', moduleId: 'viewmodels/welcome', nav: true },
            { route: 'flickr', moduleId: 'viewmodels/flickr', nav: true },
            { route: 'clients', moduleId: 'viewmodels/clients', nav: true },
            { route: 'client/:id', moduleId: 'viewmodels/client', nav: false }
        ]).buildNavigationModel();

        return router.activate();
    },
    attached: function () {
        $("#logoff").show();
    }
};
});

您可以使用asp.net网站上可下载的Durandal SPA模板在VS 2012+中创建一个新的应用程序。

来自shell.html的逻辑:

<ul class="nav" data-bind="foreach: router.navigationModel">
            <li data-bind="css: { active: isActive }">
                <a data-bind="attr: { href: hash }, html: title"></a>
            </li>
        </ul>

0 个答案:

没有答案