如何在 Angular 4 中实现 window.open 类型的功能



如何在 Angular 4 中实现window.open()类型的功能?

function open(){
var URL = "file:///C:data2.pdf";
window.open(URL, null);
}

我收到以下错误消息:

无法打开本地文件 - Chrome:不允许加载本地资源。

让我知道 Angular 4 中是否有任何window.open()替代品。

您必须在 Angular 项目的资源中引入该文件。要访问文件,您需要引入"assets/file2.pdf"。

window.open('assets/file2.pdf');

不要使用绝对路径,因为如果在子目录中部署不起作用。

你应该使用Router.navigateAngular 方法:

import { Router } from '@angular/router';

constructor(
private router: Router
) {}

open(){
var URL = "file:///C:data2.pdf";
this.router.navigate(URL);
}

您应该使用 Web 服务器。浏览器不允许通过 JavaScript 获取客户端本地文件。例:

var url = '//localhost:3000/data2.pdf';
window.open(url);

此处 Web 服务器地址为本地主机和端口 3000。作为Web服务器可以是例如Node JS,Apache等。

最新更新