У меня есть iframe внутри div и у меня есть кнопка печати, при нажатии на печать я хочу открыть новую вкладку и вызвать действие печати для URL, отображаемого в iframe.Я использую Angular 7.
Решения, которые я до сих пор пробовал:
Как открыть ссылку на новую вкладку с помощью команды печати?
html
<div>
<iframe #iframe [src]="url" width="100%" id='event-print-iframe'
name="targetframe" allowTransparency="true" frameborder="0" >
</iframe>
<button (click)='print()'>Print</button>
</div>
component.ts
import {
//...
ElementRef,
ViewChild
} from '@angular/core';
@ViewChild('iframe') iframe: ElementRef;
print()
{
let content = this.url;
let doc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentWindow;
doc.open();
doc.write(content);
doc.close();
}
Решение From iframe внутрикомпонент angular2, свойство 'contentWindow' не существует для типа 'HTMLElement'?
Ошибка при использовании вышеуказанного решения:
ОШИБКА DOMException: Заблокировано aфрейм с источником "http://localhost:4200" от доступа к фрейму перекрестного происхождения.
У меня есть URL-адрес, и я просто хочу открыть его в новой вкладке и распечатать, не нажимая Ctrl + p
Заранее спасибо за помощь!