电子APP显示未定义的document.body

时间:2018-12-05 18:16:02

标签: javascript electron

你好,我正在使用电子来加载外部URL,在外部URL中,我的脚本下面显示了window.open中的iframe。

var myWindow = window.open("", "_blank", "width=600,height=400");
myWindow.document.body.innerHTML = "<iframe allowFullScreen='true'></iframe>";

在正常的浏览器中它可以正常工作,但是在电子应用程序中,我收到以下错误:

未捕获的TypeError:无法读取未定义的属性“ body”

欢迎提出任何建议。

1 个答案:

答案 0 :(得分:1)

根据Electron文档,window.open返回一个BrowserWindowProxy对象:

  

类:BrowserWindowProxy

     

过程:渲染器

     

BrowserWindowProxy对象从window.open返回,并且   子窗口的功能有限。

代替:

myWindow.document.body.innerHTML = "<iframe allowFullScreen='true'></iframe>";

您可以尝试:

myWindow.eval (`document.body.innerHTML = "<iframe allowFullScreen='true'></iframe>";`);

请注意,此处使用了反引号字符串表示法,以避免不得不对单引号和双引号进行转义,但这绝对是个问题……

HTH ...