我在我的javascript项目中遇到问题,我无法获取iframe将本地html加载到子窗口中。
我有一个按钮界面设置,点击它时会window.open()
并创建一堆html DOM元素。该窗口加载iframe,但不加载iframe内容。此外,如果我使用像www.theuselessweb.com/
这样的远程地址,iframe加载就好了,但主html的目录中没有任何内容。例如,像'projectFolder/UnityWebPlayer.html'
一样不起作用。我知道它是一个引用问题,因为当我将iframe附加到主html <body>
时,所有远程内容都能正常工作,但是当附加到window.open()
的{{1}}时它不起作用。
// EDIT
因此强制完整协议<body>
有效,但这如何在Web服务器上运行?我怎样才能获得相对的工作路径?我也试过file:///K:/ ... /projectFolder/UnityWebPlayer.html
,但这也不起作用。
答案 0 :(得分:0)
我实际上已经明白了。它与URL有关:&#34; about:blank&#34;。该窗口似乎是在零空间中创建的,没有指向它的任何内容。如果您在window.document.open()
之后致电window.open()
,则会打开一个新的窗口,其中parent.html作为网址。现在它知道它的父目录是什么。在那里,我可以调用window.document.write()
来创建<html>
<body>
代码,附加我的DOM元素,相对路径可以在JavaScript中创建的单独窗口中使用iframe。