window.opener返回Chrome中的Cross Origin错误



我已经开发了使用以下代码打开弹出窗口的应用程序,

var url = 'child.html';
var args = ['value'];
var options='height:150px;width:300px'
window.openModalDialog(url,args,options);

我能够使用以下代码从openModalDialog读取参数

var args = window.dialogArguments;
var arg = args[0];

现在正在将应用程序迁移到Chrome。根据文档窗口。Chrome不支持openModalDialog。所以,我计划用window.open替换它。现在,当我试图获得参数时,我面临着问题。因为,我无法使用窗口获取参数。dialogArguments。我试过

window.opener and parent.window.opener

以获得争论。它返回Cross Origin错误。如何从窗口获取参数。打开。?

使用window.open,应该将开场白保存到一个变量中,然后可以访问参数。

var url = 'child.html';
var args = ['value'];
var options='height:150px;width:300px'
let newWindow = window.open(url,args,options);

参数将位于newWindow.location对象内部。

注意:如果您的窗口在另一个域中打开,这将不起作用,因为这会试图破坏名为CORS的安全策略

相关内容

  • 没有找到相关文章

最新更新