小编Ser*_*udo的帖子

带有Phonegap和AngularJS的HTML5模式

我正在尝试使AngularJS html5模式(true)与Phonegap一起使用.我在发布之前做了很多搜索,尝试了不同的配置组合,在meta中添加了<base />标签(也尝试使用<base href =""/>,<base href ="/"/>和<base href ="/"target ="_ self"/>),添加.html后缀来路由端点,在.config块中添加$ delegate.history = false(如下)

$provide.decorator('$sniffer', function($delegate) {
    $delegate.history = false;
    return $delegate;
});
Run Code Online (Sandbox Code Playgroud)

显然

$locationProvider.hashPrefix('!');
$locationProvider.html5Mode(true);
Run Code Online (Sandbox Code Playgroud)

但没有办法让它工作,添加标签和设置html5Mode为true将导致应用程序启动时出现空白屏幕.另外添加其中一个将带来相同的结果,空白屏幕.

添加带有"android_asset"的基本标签,如下所示

将正确加载主控制器,但然后打破路由....

使用目标属性"_blank"和"_self"值进行测试...

所以我的问题是,可以使用Phonegap和AngularJS启用html5模式吗?

我正在使用带有AngularJS 1.2.16的cordova版本3.4.1-0.1.0,在Android 4.0.4真实设备和Android AVD 4.4.2上测试

任何建议将非常感谢!谢谢

android angularjs cordova

9
推荐指数
1
解决办法
3104
查看次数

Angular 7,cordova和base href,点(。)和斜杠(/)

Web和Cordova应用程序都可以工作,但是在ng构建完成之后必须进行一些手动修改。

在这种情况下,前提是我说“直接链接”适用于诸如something /:id之类的路由(带有/)

我已经做了很多测试,这些测试的基本href具有不同的值,并且根本没有任何值或没有标签,在考虑要点的下方使用--base-href选项进行构建。

具有价值

<base href="/">
Run Code Online (Sandbox Code Playgroud)
  • WebApp:可以
  • WebApp直接链接:确定
  • WebApp CSS背景图像:确定
  • 科尔多瓦:黑屏
  • 科尔多瓦CSS背景图像:ND

具有价值

<base href=".">
Run Code Online (Sandbox Code Playgroud)
  • WebApp:可以
  • WebApp直接链接:BROKEN
  • WebApp CSS背景图像:确定
  • 科尔多瓦:好的
  • 科尔多瓦CSS背景图像:不显示

在第一种情况下,webapp可以正常运行,而cordova应用则坏了。

因此,在运行“ cordova run android”之前,我需要将base href值从/更改为。

仍然存在问题,所有css背景(在组件的css文件中声明)都没有显示。为了使它们正常工作,我需要打开已编译的“ main.xxxxxxxxxxx.js”文件,查找所有出现的“ background-image:url(/”,然后替换为“ background-image:url(./”)。

这些更改之后,cordova应用程序也可以正常运行。

有人遇到同样的问题吗?是否有任何解决方案来构建无需修改即可在任何系统中完全正常运行的客户端应用程序?

cordova angular

6
推荐指数
0
解决办法
210
查看次数

标签 统计

cordova ×2

android ×1

angular ×1

angularjs ×1