我有我需要打开一个iframe,这反过来,放在另一个HTML页面内内的html页面的要求(URI开头的文件://此页)。需要有iframe和外部HTML页面之间的跨域通讯。当IFRAME里的页面是从本地机器加载(:// URI两个外页和页面中的iframe有文件),它是工作完全正常。
现在,如果我试图创建一个应用程序,它托管在我的本地机器,并打开它的iframe内,尽管该页面加载成功,但外框和IFRAME的页面之间的通讯失败了。
我收到的Chrome以下错误: -
Uncaught SecurityError: Blocked a frame with origin "http://localhost/newapp"
from accessing a frame with origin "null". The frame requesting access has a protocol of
"http", the frame being accessed has a protocol of "file". Protocols must match.
我已经允许托管应用程序的服务器上的跨域请求。我可以尝试哪些其他措施使postMessage的通信成为可能?
该错误信息是明确的:你没有使用相同的协议。一种是使用HTTP,另一种是使用文件。
作为一个安全的选择Chrome浏览器,你需要同时服务于下HTTP或文件协议。