我不知道如何解决这个问题,我已经尝试阅读许多职位,但没有人回答它。
我需要打开一个新的窗口与一个网页已经编码(在同一领域内),并添加一些内容。
问题是,如果我使用OpenWindow.write()
,页面还没有加载,或者它覆盖了所有内容,只有通过write添加的代码出现。
var OpenWindow = window.open('mypage.html','_blank','width=335,height=330,resizable=1');
OpenWindow.document.write(output);
output
是我需要附加的代码。
我需要它至少在Firefox,IE和GC上工作。
如果我需要使用JQuery,这不是问题。
6条答案
按热度按时间wmomyfyw1#
当您要打开新选项卡/窗口时(取决于您的浏览器配置默认值):
例如,当输出为
Object
且You want get JSON时(也可以生成任何类型的文档,甚至是以Base64编码的图像)谷歌浏览器(60.0.3112.90)阻止此代码:
Not allowed to navigate top frame to data URL: data:application/json;base64,eyJhIjoxLCJiIjoiMiJ9
当您要将一些数据附加到现有页面时
5sxhfpxr2#
在
parent
.html中:在
child.html
中:jk9hmnmh3#
以下是您可以尝试的方法
OpenWindow.init()
而不是OpenWindow.document.write(output);
因此父窗口将具有
在孩子身上
xriantvc4#
加载页面后调用
document.write
时,它将删除所有内容并替换为您提供的参数。请改用DOM方法添加内容,例如:如果你想使用jQuery,你可以使用一些更好的API,例如:
如果您需要在新窗口的DOM准备好后运行代码,请尝试:
qrjkbowd5#
如果你想打开一个页面或窗口发送数据POST或GET方法,你可以使用这样的代码:
lvmkulzt6#
那就更简单了!
只需将下面的代码放在
<head> </head>
代码之间,所有链接都会在新窗口中打开: