我在 div 中有 iframe 并有一个打印按钮,单击打印时我想打开一个新选项卡并触发 iframe 中显示的 url 的打印操作。我正在使用 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>
组件.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();
}
解决方案从angular2 组件内的 iframe,“HTMLElement”类型上不存在属性“contentWindow”?
使用上述解决方案时出错:
错误 DOMException: 阻止具有源“ http://localhost:4200 ”的框架访问跨域框架。
我有一个 url,我只想在新选项卡中打开它并打印而不点击 Ctrl+p
提前感谢您的帮助!