我试图在 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 中工作(但是用 file
或 http
加载的本地文件不是问题)。
为什么在使用 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/