Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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/4/jquery-ui/2.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
在本地磁盘上的父HTML iframe的javascript postmessage上_Javascript_File_Local_Postmessage - Fatal编程技术网

在本地磁盘上的父HTML iframe的javascript postmessage上

在本地磁盘上的父HTML iframe的javascript postmessage上,javascript,file,local,postmessage,Javascript,File,Local,Postmessage,我正在从事一个项目,该项目涉及在iframe中托管一个网页,而托管父iframe位于本地磁盘上的一个HTML文件中,比如在c:\;而内部托管的iframe位于某些服务器上。这两个网页需要互相发送postmessage 父iframe(本地磁盘上)将消息后发到内部帧没有问题,因为它知道内部iframe的域 但是当内部iframe需要将消息传递回父iframe时,它需要提供位于本地磁盘上的父iframe的域 我在内部HTML中尝试了以下操作,以将消息传递到其位于本地磁盘上的父IFrame: *var

我正在从事一个项目,该项目涉及在iframe中托管一个网页,而托管父iframe位于本地磁盘上的一个HTML文件中,比如在c:\;而内部托管的iframe位于某些服务器上。这两个网页需要互相发送postmessage

父iframe(本地磁盘上)将消息后发到内部帧没有问题,因为它知道内部iframe的域

但是当内部iframe需要将消息传递回父iframe时,它需要提供位于本地磁盘上的父iframe的域

我在内部HTML中尝试了以下操作,以将消息传递到其位于本地磁盘上的父IFrame:

*var messageToSend = {
                        jsonrpc: "2.0",
                        result: [result]
                    };
window.parent.postMessage(JSON.stringify(messageToSend), "file://");*
//父IFrame是本地磁盘上的HTML文件

但是,当我尝试使用“file:”作为返回父iframe的postmessage中的域时,我得到了一个“Invalid argument”错误

有人能帮忙吗?“本地磁盘html”的域应该是什么?如有任何提示,将不胜感激


干杯

我不知道如何指定“文件”,我猜没有办法,因为它没有多大意义。源代码的目的是防止其他(可能是恶意的)页面看到您的消息,但是如果源代码只是硬盘上的任何文件,任何人都可以通过创建一个带有框架的html文件并从服务器加载您的网页来看到它。因此,指定“file”(即使有办法)并不比指定“*”更安全,所以只需使用“*”就可以省去麻烦

因为这不是一个词。如果您想被认真对待,请认真对待。使用一些代码可能会有所帮助……”……将消息发布到文件中的页面:URL当前要求targetOrigin参数为“*”。文件://不能用作安全限制;将来可能会修改此限制。”