Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过具有权限限制的iFrame传递单个数字_Javascript_Security_Iframe - Fatal编程技术网

Javascript 通过具有权限限制的iFrame传递单个数字

Javascript 通过具有权限限制的iFrame传递单个数字,javascript,security,iframe,Javascript,Security,Iframe,我正在开发一种类似于程序的操作系统,在其中,iFrame用于显示不同的程序。我正在开发一个函数,它允许开发者自动关闭他们的框架,比如sys.exit()。我唯一需要的是一个唯一标识包含开发人员程序的iframe的数字——可以是id、名称等等。问题在于安全性错误,因为所有内容都是本地的。我完全可以控制这个框架。此外,还应避免使用jquery,但必要时可以使用jquery [编辑] 安全错误为:“Uncaught SecurityError:阻止原点为“null”的帧访问原点为“null”的帧。协议

我正在开发一种类似于程序的操作系统,在其中,iFrame用于显示不同的程序。我正在开发一个函数,它允许开发者自动关闭他们的框架,比如sys.exit()。我唯一需要的是一个唯一标识包含开发人员程序的iframe的数字——可以是id、名称等等。问题在于安全性错误,因为所有内容都是本地的。我完全可以控制这个框架。此外,还应避免使用jquery,但必要时可以使用jquery

[编辑]

安全错误为:“Uncaught SecurityError:阻止原点为“null”的帧访问原点为“null”的帧。协议、域和端口必须匹配”

有什么想法吗

非常感谢


-Dylan给你的iframe一个ID:

<iframe id="iframeId"></iframe>
然后在iframe中,您需要执行以下操作:

addEventListener("close", functionToCloseWindow, false);
var functionToCloseWindow = function(){
window.close();
}
以下是有关postMessage()API的一些信息:

能否提供有关“安全错误”的更多详细信息?每个iframe都应该有一个唯一的id。但如果没有任何结构,则很难告诉您如何访问它。@Roberto,我已将该错误包含在一个编辑器中,它很可能是由以下原因引起的。有一些解决方案,但首先看一下创建这些框架的代码会很有帮助。这几乎可以肯定是SOP。也许我可以在框架内创建一个具有id/名称的重影元素,以传递我的数据?我不确定我是否理解此解决方案的作用。你能再解释一下吗?当然。基本上,您需要使用postMessage()在托管站点和iframe之间进行通信。这是一项安全措施。它可以让你传递字符串。您可以传递字符串“close”并在另一端侦听它,一旦收到它,就调用函数关闭窗口。希望澄清:-)啊,我明白了。不幸的是,这都是本地的,而我的问题是同一个来源policy@AlgoRythm是的-在Roberto链接到的页面中查看解决方案-
addEventListener("close", functionToCloseWindow, false);
var functionToCloseWindow = function(){
window.close();
}