4

也许你们中的一些人可能遇到了和我一样的问题。假设你的机器上有一个文件:file:///c:\test.html

你在这个文件中有一个 IFrame。您需要指明是否加载了 IFrame 内容。

基本上,我们在这里拥有: 1. location、href 或任何其他属性从 file:/// 到http:///或向后是不可访问的。2. 不幸的是,您不能从 iframe 中的浏览器窗口或相反方向触发事件。

这个问题有解决办法吗?PS:这不是黑客。这是一个真正的问题。从本地机器与网站集成进行一些交互。

UPD:我有点明白为什么它被禁止了。网页应禁止与本地文件的任何交互。这有点酷,我同意。但是#标签不是不会伤害任何人吗?:(

4

1 回答 1

2

您可能会发现其中一些技术很有用:http: //softwareas.com/cross-domain-communication-with-iframes

编辑:根据下面的评论,这些技术在访问时似乎不起作用file:///c:\<path>\test.html,而在访问时却起作用http://localhost/test.html

我认为这是因为file协议比协议更受浏览器的限制http。文件协议上的MSDN 页面指出:

Internet Explorer 6 Service Pack 1 (SP1) 不再允许从 Internet 区域浏览本地计算机。例如,如果 Internet 站点包含指向本地文件的链接,则当用户单击该链接时,Internet Explorer 6 SP1 会显示一个空白页面。以前版本的 Windows Internet Explorer 遵循指向本地文件的链接。

无论您使用什么技术来获得一些跨域通信,浏览器都可能阻止,因为您使用的是file协议。

于 2009-10-14T20:04:47.840 回答