0

我正在尝试从我在本地运行的网页加载另一个网站。虽然它确实加载了,但我似乎无法在里面引用任何东西。我不断得到

Blocked a frame with origin "null" from accessing a frame with origin "http://theWebsiteImAccessingWithTheIFrame.com".  The frame requesting access has a protocol of "file", the frame being accessed has a protocol of "http". Protocols must match.

我知道这是一个安全功能,但是如果它正在加载它,必须有一种方法来引用里面的东西,不是吗?

任何帮助是极大的赞赏!

编辑:

我使用 SVG 创建了我工作的办公室的地图,其中包含每个人的信息(办公室位置、他们的照片、扩展名等)。我们还刚刚获得了一堆由 LightPath 管理和托管的 IP 电话。在他们拥有的网页上,它可以让我们管理我们的手机,甚至让他们打电话给其他人(使用 javascript,但我不知道如何,因为他们的代码非常复杂)。

我的计划是,如果用户点击某人的办公室,然后他们可以有一个按钮,要求他们输入他们的号码和 pin 以登录(它在 lightpath 网站上的工作方式),它将连接他们的 2 部手机。我打算使用他们的号码和密码为他们登录,并以这种方式连接呼叫,只需控制 lightpath 站点上的表单,而它位于 iframe 中。这样一来,他们就不会看到 Lightpath 网站的混乱情况(因为我可以隐藏 iframe),而这一切都会完成。从本质上讲,这就像他们自己访问了网站并以这种方式完成了一样,只是采用了一种更平易近人的格式,并且分心更少。

LightPath 确实提供了“呼叫我”功能,它创建了一个专用按钮来呼叫特定的人,但它为他们创建了一个令牌,只有那个人有能力创建它,更不用说我必须输入每个人唯一的令牌进入网站,如果他们的扩展名发生变化,或者他们离开公司,就会面临失败的风险。所以我希望有一些更有活力的东西。

4

1 回答 1

0

这是浏览器的一项安全功能。

您无法访问不同来源的 iFrame。所以文件必须是本地的。

他们必须在同一台服务器上。在 chrome 中,您不允许访问file://协议中的任何其他文件。

因此,要访问远程文件,您可能需要研究其他访问方式。但无论哪种方式,您都需要(至少在 Google Chrome 中)加入http://协议。

于 2013-09-25T18:19:43.643 回答