使用href进行角度路由在Android浏览器

时间:2015-04-23 17:36:19

标签: android angularjs url-routing href

我对此感到困惑.. 我有这段代码:

<a href=" #/products/{{product.id}}" ng-click="customFunction()">

产品是具有'id'元素的对象。 customFunction在购物车中添加产品的位置

两者都是合并的,因为href元素中的路径允许访问添加的产品可自定义的新页面。

代码和路由工作正常交叉浏览器,除了手机(至少Android,Chrome和本机浏览器)。在Android手机上,只有ng-click对点击作出反应。但我仍然可以打开由href路由的网页,方法是按下链接并在新标签页中打开:oO

我的路由看起来像那样(app.js):

    when('/products/:productId', {
                templateUrl: 'partials/store_composition.html',
                controller: 'mainCtrl'
            })

并在主Ctrl中调用getProduct函数:

  if ($routeParams.productId != null) {
    $scope.product = $scope.store.getProduct($routeParams.productId);
}

访问store.js文件:

store.prototype.getProduct = function (id) {
for (var i = 0; i < this.products.length; i++) {
    if (this.products[i].id== id)
        return this.products[i];
}
return null;

}

它工作正常......除了Android!但是如果长按新标签,链接仍然存在:s:s

有什么想法吗?

更新: 我注意到android / chrome导航栏中的URL永远不会改变。相反,在常规浏览器中发生了什么(app/index.html#/products/batavia400之类的URL在顶部更新) 但除了我在我的帖子中链接的路由,我的应用程序中的每个其他路由都正常工作(没有url更新只是相同...:/)

解决: 我实际上通过添加

解决了这个问题
 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

及其制作技巧的user-scalable=no。 默认情况下,屏幕稍微有点缩放,由android设置,这就是用户触摸div链接时产生的冲突。 我想如果我的网页设计技巧更好,我就不会有问题;)

1 个答案:

答案 0 :(得分:1)

我实际上是通过添加

解决了这个问题
 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

及其制作技巧的user-scalable=no。 默认情况下,屏幕稍微有点缩放,由android设置,这就是用户触摸div链接时产生的冲突。