Tôi đang sử dụng Angular 2 với angular-cli và tôi muốn thêm sfcdoc polyfill để hỗ trợ Microsoft Edge. Vì vậy:Góc 2 srcdoc polyfill không hoạt động
tôi thêm vào package.json https://github.com/jugglinmike/srcdoc-polyfill
tôi nhập khẩu import 'srcdoc-polyfill/srcdoc-polyfill.min';
trong polyfills.ts.
tôi đã sử dụng nó như:
<iframe class="ticket-frame" [srcdoc]="ticket.html | htmlSafe"
tlIframeAutoHeight>
</iframe>
Tình cờ, nếu bạn hỏi tôi cho chỉ thị IframeAutoHeight, đây là mã:
@Directive({
selector: '[tlIframeAutoHeight]'
})
export class IframeAutoHeightDirective {
constructor(element: ElementRef, renderer: Renderer) {
renderer.listen(element.nativeElement, 'load',() => {
renderer.setElementStyle(
element.nativeElement,
'height',
element.nativeElement.contentWindow.document.body.clientHeight + 'px'
);
});
}
}
Microsoft Edge 35 được bỏ qua bất động sản srcdoc, bất kỳ ý tưởng về vấn đề là gì
Tôi cũng chấp nhận cách giải quyết.
Đây là một câu trả lời tốt. Lưu ý rằng bạn là kỹ thuật _not_ polyfilling nó trong ví dụ này nhưng thay vì _ponyfilling_ nó (đôi khi tôi ghét thuật ngữ), vì vậy cách tiếp cận này sẽ tốt trong mã thư viện, nhưng nhập khẩu nó như 'import 'srcdoc-polyfill'' sẽ đẹp hơn trong mã ứng dụng, vì đó là loại điểm của polyfills. Btw, upvoted! –
Tôi đoán nó chỉ làm đầy những iframe tồn tại trên trang khi polyfill được thực thi. – kemsky
Không có nó không làm bất cứ điều gì, đó là OK. Bạn đang nhập hành vi sẽ được thực hiện thành nhiều phần và gọi nó là một hàm. –