http - 使用 http 加载 html 时无法显示 "file"协议(protocol) url src 的 iframe

标签 http iframe localhost

我试图在 html 页面上添加一个 iframe,我意识到当我通过 HTTP 协议(protocol)加载我的 HTML 文件时(例如在地址:localhost/file.html),只有带有 的文件” http://localhost.." URL 显示在 iframe 中。
网站 URL 或本地文件(使用 "file:///C:/..." 访问)在 iframe 中不返回任何内容(甚至不返回“未找到”或其他错误)。
同样,当我使用 file 协议(protocol)(然后 url 为 file:///C:/UwAmp/www/file.html)打开我的文件时,网站的 url仍然不能在 iframe 中工作(但是用 filehttp 加载的本地文件不是问题)。

为什么在使用 HTTP(S) 协议(protocol)加载的页面中忽略带有“file:///”的链接? 为什么我无法在我的任何 iframe 中显示网站?

感谢任何帮助。 (对不起我的英语,我尽力解释)。

最佳答案

大多数现代浏览器都不允许从非 file: URL 构建 file: URL 以避免安全问题。例如,当这被允许时,有一些恶意网站会打开一个框架,其中包含用户文件系统中的一个目录,试图吓唬用户,让他们认为他们被“黑客入侵”了。一些这样做的网站随后会尝试向用户出售“保护”软件(这可能本身就是恶意软件)。

所以无论如何,您不能可靠地期望在现代浏览器上构建 file: URL。

关于http - 使用 http 加载 html 时无法显示 "file"协议(protocol) url src 的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21009084/

相关文章:

http - 在帖子正文中发送某些字符时,Web 服务抛出 400 错误请求?

Jquery 检测 iframe 内 body 标记的更改或 keyup

javascript - 如何从另一个 iFrame 中清除 iFrame 的内容

javascript - 如何使用javascript滚动到iframe中的特定位置

php - MySQL 本地主机访问被拒绝,直到刷新

java - 当 URL 使用 `localhost` 但不使用 `127.0.0.1` 时,MySQL Java 应用程序可以正常工作

php - 如何使用php显示pdf文件的详细信息

javascript - 是否可以在 angularjs 中对 ui.router 的 resolve 执行 $http get 请求?

web-config - 当 web.config 包含 ipSecurity 权限时允许 "localhost"在 iisexpress 中运行

java - Android SSL https 发布