अद्यतन v8
नीचे उत्तर काम करते हैं लेकिन XSS सुरक्षा जोखिमों के लिए आपके आवेदन को उजागर करते हैं! । उपयोग करने के बजाय this.sanitizer.bypassSecurityTrustResourceUrl(url)
, इसका उपयोग करने की सिफारिश की जाती हैthis.sanitizer.sanitize(SecurityContext.URL, url)
अपडेट करें
के लिए RC.6 ^ संस्करण उपयोग DomSanitizer
Plunker
और एक अच्छा विकल्प इसके लिए शुद्ध पाइप का उपयोग कर रहा है:
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer} from '@angular/platform-browser';
@Pipe({ name: 'safe' })
export class SafePipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {}
transform(url) {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
}
AppModule SafePipe
के declarations
सरणी में अपना नया जोड़ना याद रखें । ( प्रलेखन पर देखा के रूप में )
@NgModule({
declarations : [
...
SafePipe
],
})
एचटीएमएल
<iframe width="100%" height="300" [src]="url | safe"></iframe>
Plunker
यदि आप embed
टैग का उपयोग करते हैं तो यह आपके लिए दिलचस्प हो सकता है:
पुराना संस्करण RC.5
आप DomSanitizationService
इस तरह से लाभ उठा सकते हैं :
export class YourComponent {
url: SafeResourceUrl;
constructor(sanitizer: DomSanitizationService) {
this.url = sanitizer.bypassSecurityTrustResourceUrl('your url');
}
}
और फिर url
अपने टेम्पलेट में बांधें :
<iframe width="100%" height="300" [src]="url"></iframe>
निम्नलिखित आयात जोड़ना न भूलें:
import { SafeResourceUrl, DomSanitizationService } from '@angular/platform-browser';
प्लंकर का नमूना