changingThisBreaksApplicationSecurity angular2

老子叫甜甜 提交于 2019-12-22 14:41:11

问题


I am trying to load a pdf document in an tag in angular2 Dynamically, and when I am trying to change the URL iths throwing an error saying

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

localhost:8002/pdf.pdf Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME

Here's how I am setting the URL, This method will be called when I need to show the component

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");
}

Heres the HTML Part

<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>

The URL I am supplying will be dynamic


回答1:


Your URL does not have a protocol. Try the following:

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


来源:https://stackoverflow.com/questions/41995986/changingthisbreaksapplicationsecurity-angular2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!