如何在 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.navigate
Angular 方法:
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等。