changeThisBreaksApplicationSecurity angular2

Я пытаюсь загрузить документ PDF в тег в angular2 динамически, и когда я пытаюсь изменить URL, выдает ошибку, говорящую

SafeResourceUrlImplchangingThisBreaksApplicationSecurity: "localhost: 8002 / pdf.pdf"proto: SafeValueImplconstructor: SafeResourceUrlImpl () getTypeName: ()proto: Object

localhost: 8002 / pdf.pdf Не удалось загрузить ресурс: net::ERR_UNKNOWN_URL_SCHEME

Вот как я устанавливаю URL, этот метод будет вызываться, когда мне нужно показать компонент

public show(): void {
    this.visible = true;
    this.visibleAnimate = true;
    console.log(this.src)
    this.DocURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.src);
    console.log(this.DocURL);
}


constructor(private sanitizer: DomSanitizer) {
    this.visible = false;
    this.visibleAnimate = false;

    this.DocURL = this.sanitizer.bypassSecurityTrustResourceUrl(window.location.host + "/pdf.pdf");
}

Вот часть HTML

<div style=" height:650;width:870">
    <object width="870" height="650" type="application/pdf" [data]="DocURL" id="doc" #doc>
        <p>Not able to display the document</p>
    </object>
    <div style="display:none">
        <iframe id="fred" #fred style="border:1px solid #666CCC" title="PDF in an i-Frame" [src]="DocURL" frameborder="1" scrolling="auto" height="1100" width="850" ></iframe>
    </div>
</div>

URL, который я предоставляю, будет динамическим

1 ответ

Решение

Ваш URL не имеет протокола. Попробуйте следующее:

this.DocURL = this.sanitizer.bypassSecurityTrustResourceUrl(window.location.protocol + '//' + window.location.host + "/pdf.pdf");
Другие вопросы по тегам