带有window.open的跨域对象上的SecurityError

问题描述 投票:0回答:1

我有下面的JavaScript代码,当您单击图片(img标签)时执行,它也使用称为photoOrder的数组。

var photoOrder = [1,2,3,4,5];
//Open center figure in separate window
function bigPicture() {
var propertyWidth = 900;
   var propertyHeight = 550;
   var winLeft = ((screen.width - propertyWidth) / 2);
   var winTop = ((screen.height = propertyHeight) / 5);
   var winOptions = "width=900,height=550";
   winOptions += ",left=" + winLeft;
   winOptions += ",top=" + winTop;
   var bigPicWindow = window.open("./biggerPicture.html", "BiggerPicture", winOptions);
   bigPicWindow.focus();
}

在接收窗口上,我具有以下代码来访问photoOrder数组:

var photoOrderArray = window.opener.photoOrder;

主要思想是查看显示的IMG的biiger版本。但是,当我单击它时,由window.open调用的第二个窗口出现以下错误:

SecurityError:跨域对象访问属性“ photoOrder”的权限被拒绝

我该如何解决?我试过window.postMessage,但这只是打开了一个新的带错误的蠕虫罐。我通过双击index.html文件在本地PC上运行它。这是我正在忙的学习项目,而不是实时网站。

javascript arrays cross-domain
1个回答
0
投票

似乎唯一的解决方法是设置Web服务器,即使仅使用Xamp之类的简单设置即可避免错误,因此它可以作为以Xamp计算机IP为域的实时网站运行。

© www.soinside.com 2019 - 2024. All rights reserved.