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