使用本地运行的HTML文件中的其他网站

时间:2013-09-25 18:06:23

标签: javascript html iframe cross-domain

我正在尝试从我在本地运行的网页加载另一个网站。虽然它确实加载,我似乎无法引用任何内部。我一直在

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,但我不知道他们的代码是如何非常复杂)。

我的计划是,如果用户点击某人的办公室,他们可能会有一个按钮,要求他们输入他们的号码和密码登录(如何在光路网站上运行),它会连接他们的2部手机。我打算使用他们的号码和密码来登录,并通过控制光路径网站上的表单,然后它在iframe中,以此方式连接呼叫。这样,他们就不会看到Lightpath网站的混乱(因为我可以隐藏iframe),它就会完成。从本质上讲,就好像他们自己去网站并以这种方式完成它,除非是一种更加平易近人的格式,而且干扰更少。

LightPath确实提供了“给我打电话”功能,该功能可以创建一个专用按钮来调用特定的人,但它会为他们创建一个令牌,只有那个人有能力创建它,更不用说我必须输入每个人的唯一令牌进入网站,如果他们的扩展被更改,或者他们离开公司,则冒着失败的风险。所以我希望有一些更有活力的东西。

1 个答案:

答案 0 :(得分:0)

这是浏览器的安全功能。

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

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

因此,要访问远程文件,您可能需要查看其他访问方式。 但无论哪种方式,您都需要 - 至少在谷歌浏览器中 - 使用http://协议。