Tôi có một bảng điều khiển Kibana với URL:Góc mã hóa url trong ng-src và thay thế '/' bằng% 2F và '?' với% 3F
/logquery/app/kibana#/dashboard/Some-Dashboard?someParameters
và tôi có một ứng dụng web mà tôi đang cố gắng để nhúng bảng điều khiển ở trên trong một . Url trong ứng dụng web như sau
/dashboards/logquery/app/kibana#/dashboard/Some-Dashboard?someParameters
và trong AngularJs, tôi đang làm:
ctrl.dashboardUrl = $location.url().replace('/dashboards', '');
Theo quan điểm của tôi:
<div ng-controller="DashboardCtrl as ctrl">
<div class="iframe-container">
<iframe ng-src="{{ctrl.dashboardUrl | trustAsUrl}}"
height="100%"
width="100%"
ng-cloak
frameborder="0"
marginheight="0"
marginwidth="0"></iframe>
</div>
</div>
trustAsUrl
lọc như sau:
filtersGroup.filter('trustAsUrl', [
'$sce',
function ($sce) {
return function (val) {
return $sce.trustAsResourceUrl(val);
};
}]);
một d Tôi có:
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
rewriteLinks: false
});
Điều này gây /
ký tự sau /kibana#
được thay thế bằng %2F
và ?
với %3F
gây Kibana không để có thể tìm thấy bảng điều khiển yêu cầu.
Tôi làm cách nào để khắc phục điều này? Cảm ơn!
sau đó không sử dụng 'lọc trustAsUrl', ' ng-src = "{{ctrl.dashboardUrl}}" ' –
@MirazChowdhury Nó không tạo sự khác biệt. Theo hiểu biết của tôi, nó không phải là phần mã hóa url bảng điều khiển. –
Bạn có thể thêm mã của bạn trên fiddle không? –