angular项目中,ie中iframe动态的ng-src,如果是路由的地址(带有#的url),页面不显示,googel却正常

为什么在ie中iframe动态的ng-src,改变ngsrc的值,如果是路由的地址(带有#的url),页面不显示,不是路由的就可以,googel却正常,有人遇到过吗?

html代码

  <div class="c-iframebox" ng-class="{'c-iframebox-shrink':cIframeboxShrink}" >
        <iframe ng-if="!isRefreshing"  frameborder="0" class="c-iframe" id="viewIframe" ng-src="{{divUrl}}"></iframe>
  </div>

JS代码:

 function divClickFn(_div, _url) {
    $scope.isDivActive = _div;

    $scope.isRefreshing = true;
    $timeout(function () {
        $scope.isRefreshing = false;
    },50);
    //解决跨域iframe问题的 $sce
     $timeout(function () {
         $scope.divUrl = $sce.trustAsResourceUrl(_url);
         console.log($scope.divUrl);
     }, 1);
}

//计划分解
$scope.planWeightDivClick = function () {
    divClickFn("planWeightDiv", basePath+"#/index/preview/3ad65a354eb74571bace89ce04d0a868/false/0/0");
};
阅读 3.9k
1 个回答

字节解决了,但是还是不知道什么原理,先说下解决方式吧:
就是在url的#前面加个index.jsp,原先默认就是调用index.jsp这个路口的,不知道为什么iframe没有进去,
代码:

$scope.divUrl = $sce.trustAsResourceUrl(basePath+"index.jsp#/index/preview/3ad65a354eb74571bace89ce04d0a868/false/0/0");
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进