window.open()在桌面应用程序中不起作用

时间:2018-04-11 05:58:55

标签: javascript windows reactjs browser electron

我正在尝试使用window.open()打开一个新窗口。 我使用reactDOM.createPortal来保持窗口控件与父组件同步。

这是一个片段:

export default class NewWindow extends React.PureComponent {
constructor(props) {
    super(props);
    this.containerEl = document.createElement('div'); 
    this.externalWindow = null;
}

componentWillMount() {
    this.externalWindow = window.open('', '', 'width=500,height=400,left=200,top=200');
    this.externalWindow.document.body.appendChild(this.containerEl);

}
render() {
    return ReactDOM.createPortal(
        this.props.children, this.containerEl);
}
}

class ParentComponent extends React.PureComponent{
render(){
    return(
        <NewWindow>
            <div>Custom Text</div>
        </NewWindow>
    );
}
}

注意:我保持url部分为空,因为我正在尝试将React组件附加到它。

这在web浏览器中运行良好,大约:空白作为URL,但它在桌面应用程序中不起作用。

任何人都可以帮助我如何在桌面应用程序中打开一个新窗口并在其中呈现特定组件?

如果可以使用任何替代品,也请告诉我。

提前致谢。

PS :Windows应用程序是使用React / Redux和Electron开发的。

更新:当我提供有效的网址时,会打开一个新窗口,但基本窗口会变为空白。

感谢任何帮助。谢谢你的帮助。

0 个答案:

没有答案