要访问由window.open在Angular 5中打开的外部窗口对象的URL,可以使用window.open返回的窗口对象的属性。
以下是一个示例解决方法:
在Angular组件中,先使用window.open打开外部窗口,并将返回的窗口对象保存在一个变量中:
externalWindow: Window;
openExternalWindow() {
this.externalWindow = window.open('http://example.com', '_blank');
}
然后,您可以通过访问窗口对象的location属性来获取外部窗口的URL:
getExternalWindowUrl() {
if (this.externalWindow) {
const externalWindowUrl = this.externalWindow.location.href;
console.log('External Window URL: ', externalWindowUrl);
} else {
console.log('External Window not found.');
}
}
在上面的代码中,getExternalWindowUrl
方法检查externalWindow
变量是否存在,并在控制台中打印外部窗口的URL。
注意:由于浏览器的同源策略限制,您只能访问与您的Angular应用在同一域中的外部窗口。如果外部窗口的URL与您的应用不在同一域中,您将无法访问其URL。