我可以将显式Javascript方法授予其他主机iframe吗?

我可以将显式Javascript方法授予其他主机iframe吗?,javascript,iframe,same-origin-policy,Javascript,Iframe,Same Origin Policy,我正在考虑一个系统,在这个系统中,我允许用户创建支持Javascript的小部件,以便其他用户嵌入到我网站上的仪表板中。我想对这些小部件进行严格限制,这样每个小部件都将作为一个iframe存在,并保存在自己唯一的主机名上:例如,ID为47的小部件可以在w47.widgets.example.com上访问 对于权限授予对话框等,允许小部件调用父窗口显式授予的非常特定的方法,而不授权iframe代表用户对父框架执行它喜欢的任何操作,这将是很有帮助的 父文档是否可以显式地允许对不同主机上的子文档进行某

我正在考虑一个系统,在这个系统中,我允许用户创建支持Javascript的小部件,以便其他用户嵌入到我网站上的仪表板中。我想对这些小部件进行严格限制,这样每个小部件都将作为一个iframe存在,并保存在自己唯一的主机名上:例如,ID为47的小部件可以在
w47.widgets.example.com
上访问

对于权限授予对话框等,允许小部件调用父窗口显式授予的非常特定的方法,而不授权iframe代表用户对父框架执行它喜欢的任何操作,这将是很有帮助的


父文档是否可以显式地允许对不同主机上的子文档进行某些方法调用?

您可以使用
postMessage
receiveMessage
创建自己的协议,以准确地传递您想要的内容。但是,如果要支持多种浏览器,这可能不适用于您。较旧的浏览器(例如,IE 7及以下版本)需要一种变通方法来实现这一技术,这有点令人讨厌。

您可以使用
postMessage
receiveMessage
创建自己的协议,以准确地传递您想要的内容。但是,如果要支持多种浏览器,这可能不适用于您。较旧的浏览器(例如IE 7及以下)需要一个变通方法来实现这一技术,这有点讨厌。

Ooh,太好了!我发现这似乎为我实现了跨浏览器的变通方法。谢谢该插件工作得很好,只需确保URL匹配即可。我花了2天的大部分时间在每个浏览器上完成所有这些工作,即使使用插件,因为需要匹配服务器端和客户端的url-我需要设置一个双向通信通道,所以这有点冒险。当然有可能。哦,那太好了!我发现这似乎为我实现了跨浏览器的变通方法。谢谢该插件工作得很好,只需确保URL匹配即可。我花了2天的大部分时间在每个浏览器上完成所有这些工作,即使使用插件,因为需要匹配服务器端和客户端的url-我需要设置一个双向通信通道,所以这有点冒险。当然有可能。