浏览器如何打开已保存的html页面?它必须从硬盘运行html文件和其他文件。但是浏览器如何找到其他小文件的链接?浏览器是否将html页面的其他小文件的链接从url更改为硬盘位置? 怎么做到这一点?我想在我的应用程序中做同样的事情。但我无法弄清楚这个过程。
答案 0 :(得分:5)
大多数浏览器将附加资源(样式表,图像,脚本等)存储在以保存页面命名的单独文件夹中。
然后,所有对资源的引用都转换为相对引用,如下所示:
<img src="name_of_saved_folder/image.jpg">
然后,浏览器将相对于保存的HTML文档的位置查看name_of_saved_folder
。
如果将HTML文件移动到其他位置,则引用通常不再有效。
Internet Explorer在1999年引入了一个非常有趣的archived HTML format概念,它将所有资源合并到一个文件中,但遗憾的是,这还没有在所有浏览器的全球实际支持方面流行起来。
您可以使用wget之类的现有工具进行交互,而不是自行编码,而是可以为您完成所有工作。对于大多数编程语言,Stack Overflow上可能存在关于如何在本地最佳地存储HTML页面及其资源的相关问题。
答案 1 :(得分:0)
您只需使用相对URL,因此浏览器将相对于HTML页面的位置加载外部文件(图像等)。
因此,如果您的HTML页面保存在file:///some/directory/page.html
,如果您有<img src="image.png">
,则浏览器会从file:///some/directory/image.png
加载此图片。