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

时间:2015-12-30 19:55:37

标签: javascript security iframe

我正在开发一种类似程序的操作系统,在其中,iframe用于显示不同的程序。我正在开发一个允许开发人员自动关闭其帧的函数,如sys.exit()。我唯一需要的是一个唯一标识包含dev程序的iframe的数字 - 无论是id,name还是其他。问题是安全错误,因为一切都是本地的。我完全控制了框架。还应避免使用jquery,但必要时可以使用。

[编辑]

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

有什么想法吗?

非常感谢,

-Dylan

1 个答案:

答案 0 :(得分:0)

为您的iframe提供ID:

<iframe id="iframeId"></iframe>

在托管页面上

var iframe = document.getElementById("iframeId").contentWindow;

iframe.postMessage('close', 'http://yourdomain');

然后在你的iframe中你需要这样做:

addEventListener("close", functionToCloseWindow, false);
var functionToCloseWindow = function(){
window.close();
}

以下是postMessage()API的一些信息: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage