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

标签 javascript file local postmessage

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

父 iframe(在本地磁盘上)向内部框架发送消息没有问题,因为它知道内部 iframe 的域;

但是当内层iframe需要回传消息给父iframe时,它需要提供父iframe在本地磁盘上的域。

我在内部 HTML 中尝试了以下内容以将消息发布到其在本地磁盘上的父 IFrame:

*var messageToSend = {
                        jsonrpc: "2.0",
                        result: [result]
                    };
window.parent.postMessage(JSON.stringify(messageToSend), "file://");*

//window.parent IFrame 是本地磁盘上的 HTML 文件

但是当我尝试使用“文件:”作为返回父 iframe 的邮寄消息中的域时,我收到“无效参数”错误。

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

干杯

最佳答案

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

关于javascript - 在本地磁盘上的父 HTML iframe 的 javascript postmessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5466376/

相关文章:

javascript - 使用对象引用进行过滤 lodash

git - 如何知道我在GIT的不同分支中拥有的文件?

ruby - 如何将文本文件读入数组数组(每个子数组都是文本文件中的一行?)

c++ - 从 Qt 中的文件中读取整数

java - 用java保存游戏数据

javascript - 如何在 "Unsafe JavaScript attempt to access frame with URL"(Chrome 本地框架)之前测试浏览器的权限?

javascript - 哈希表比 document.getElementById 更快吗?

javascript - IIFE 参数与声明

Javascript:从右侧滑动面板

Python:如何从一维数组或列表中获取局部最大值