<embed> 标签需要刷新才能设置 src

<embed> tag requires refresh to set src

所以我正在尝试从数据库中获取一些 pdf/jpg 文件并将其显示在弹出窗口中。我使用 <embed> 标签在我的 html 中显示文件,但是弹出窗口第一次没有加载(或显示 idk),我必须刷新我的弹出窗口以显示文件。为什么会这样?!

HTML:

<div ng-init="myVisa">
    <div class="popup" dx-popup="popupOptions1">
        <div data-options="dxTemplate:{ name:'certi' }">
            <div class="form-group row" style="text-align:center;">
                <embed id="img1" src="" width="800px" height="500px" />
            </div>
            <div class="form-group row" style="text-align:center;">
                Approve the information :
                <input type="checkbox" ng-model="myVisa.CheckBox" />
            </div>
            <div ng-show="myVisa.CheckBox" style="text-align:center;" class="form-group row">
                <button class="btn btn-success" ng-click="onDownloadCertificate(myVisa.VisaReqId)">Download</button>
            </div>

        </div>
    </div>
</div>

JavaScript:

$scope.myVisa = {};
$scope.visiblePopup1 = false;

$scope.onShowCertificate = function(e) {
  debugger;
  var id = e.key.VisaReqId;
  var url = "/UploadFile/ShowVisaAproveFile/?id=" + id;
  $http.get("/api/VisaRequest/GetVisaRequetInfo/?id=" + id).then(function(res) {
    debugger;
    $scope.myVisa = res.data;
    $("#img1").attr("src", url + "#toolbar=0");
    $scope.visiblePopup1 = true;
  });
};

所以问题是当弹出窗口打开时 img 数据没有加载。所以我尝试在弹出窗口的 onShowing 事件中设置 img src,这样我就可以显示图像了。