angularjs cordova base href
试图为
angularjs html5网络应用程序设置正确的基本href值以在cordova中工作
最初使用$locationProvider.html5Mode(true)和< base href =“/”>: > app在普通浏览器中完美运行 在SO和ui-router FAQs上尝试了一些替代方案: < base href =“.”>使用html5模式,根据this答案: >资产在cordova中找到了(没有资源错误) < base href =“./”>使用html5模式: >在cordova中找到的资产(没有资源错误) $locationProvider.html5Mode没有基础href({enabled:true,requireBase:false}); >在cordova中找到的资产(没有资源错误) 我的app配置定义如下: myApp.config(['$locationProvider','$urlRouterProvider','$stateProvider','$stickyStateProvider',function($locationProvider,$urlRouterProvider,$stateProvider,$stickyStateProvider) { $locationProvider.html5Mode(true); $stateProvider .state('root',{ // we define a 'root' state so that we can load some essential data prior to any template being loaded url: '',abstract: true,sticky: true,views: { 'root': { template: '<ui-view/>',} } }) .state('root.worldmap',{ url : '/worldmap',templateUrl : 'templates/worldmap.tmpl.html' }) .state('root.faq',{ url : '/faq',templateUrl : 'templates/faq.tmpl.html' }) .state("otherwise",{ url: "*path",views: { 'root': { template: "",controller: ['$injector',function($injector) { var $state = $injector.get("$state"); $state.go('root.worldmap'); }] } },}); $stickyStateProvider.enableDebug(true); }]); 有关信息:
好的,这样做的方法是删除基本href并禁用html5模式:
> [可选]创建&结帐一个名为dev-cordova或类似的新分支 >这允许您在浏览器和设备代码之间快速切换 >删除/评论< base href =“/”>在主index.html $locationProvider.html5Mode({ enabled: false,requireBase: false }); 要么 $locationProvider.html5Mode(false); 不要忘记运行cordova build ios(在你grunt / gulp等之后编译js文件)…这可确保更新cordova / platforms / ios / www目录中的文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |