javascript - 使用 window.open 的跨域对象上的 SecurityError
问题描述
我有下面的 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 的更大版本。但是当我点击它时,window.open 调用的第二个窗口出现以下错误:
SecurityError:访问跨域对象上的属性“photoOrder”的权限被拒绝
我该如何解决?我尝试了 window.postMessage 但这只会打开一个新的带有错误的蠕虫罐。我通过双击 index.html 文件在本地电脑上运行它。它是我忙于学习的项目,而不是实时网站。
解决方案
似乎解决它的唯一方法是设置一个 Web 服务器,即使只是像 Xamp 这样的简单设置来避免错误,所以它作为一个以 Xamp 计算机 IP 作为域的实时网站运行。
推荐阅读
- angular - 无法将故事书添加到 Nrwl Nx 角度应用程序
- php - foreach 子数组中的值求和
- python - 交叉验证估计器的参数无效。值错误
- java - 如何在 JAVA EE JPA 中使用购物车项目保持订单,订单包含多个项目
- angular - 用于多个下拉菜单的 Angular AsyncPipe 加载一次
- swift - SCNNode 不透明度和可见性
- php - 嵌套的 foreach 循环仅在 PDO 上工作一次
- java - 如何返回 Json 的第一个和最后一个元素
- wordpress - WordPress - 损坏的投资组合链接
- reactjs - Axios 发布请求被烧瓶制作的 api 拒绝。出现 CORS 错误