【问题标题】:URL redirect and reload not working in Safari and IEURL 重定向和重新加载在 Safari 和 IE 中不起作用
【发布时间】:2018-12-11 18:51:41
【问题描述】:

我正在使用以下方法重定向到Item 页面并重新加载整个页面。适用于所有浏览器,但 Safari 和 IE(一如既往!)。在这两个中,当前页面被重新加载。

关于如何以不同的方式做的任何建议?

<a href="/items/{{item.$id}}" onclick="location.reload()" class="btn">Item</a>

我在JS中也试过如下,但是Safari和IE出现同样的问题

$scope.redirect = function(Item) {
     window.location.href = '/items/' + item.$id;
     window.location.reload(); 
}

【问题讨论】:

  • 你用ng-href是不是也一样?
  • 试试这个 window.location.reload();请为我工作一次
  • 尝试包装 window.location.reload();强制在下一个摘要循环中运行该行代码:$timeout(function(){ window.location.reload(); });
  • 你在用ui-router吗?
  • @DDT,我正在使用 ng-route,启用 html5

标签: javascript html angularjs redirect cross-browser


【解决方案1】:

试试这个:

$(document).ready(function(){
 // put all your js inside it
 init();
});

也可以尝试禁用缓存参数

【讨论】:

    【解决方案2】:

    要按照您的方式进行操作,您应该在角度控制器中使用角度 $window 而不是 window。重新加载路线或整个窗口的一个很好的例子是:AngularJs: Reload page


    或者我会考虑在页面上有一个按钮:

    <button ng-click="goItem(item.$id)" class="btn">Item</button>
    

    以 id 作为参数调用控制器上的操作:

    $scope.goItem = function(id){
        $location.path('/items/' + id );
    };
    

    并重定向到特定的项目路线。

    【讨论】:

    • 感谢马特,但$location.path 不会为我重新加载。那部分怎么样?此外,Safari 和 IE 中的问题不在于页面没有重新加载。就是重新加载前一个页面而不是新的重定向页面
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多