初学HTML,在访问主机中文件,特别是使用图片的时候,都喜欢使用绝对路径,像这样:url("D:/xxx/xxx") / src="D:/xxx/xxx"
。图片都能显示,也没什么问题。
直到后来,我开始点击dea中的浏览器图标来展示html,这个时候,我就发现绝对路径不起作用了,修改来修改去,发现只有相对路径或者把图片与html文件放在一起图片才能显示。
本以为是HTML更新的机制问题,但这次鬼使神差地没用idea,我直接双击html文件来打开,这次图片却能显示了!!!于是乎我开始了找茬,最终得出结论——这是浏览器安全机制的问题。
上面图一是idea运行下的浏览器地址框,图二是直接访问HTML文件的浏览器地址框。可以看出,图一是通过http协议来访问文件的(尽管就在本地),图二是通过文件访问的形式直接打开。那么这个与浏览器的安全机制有什么关系呢?——因为浏览器属于客户端软件,为了安全性,是禁止浏览器自行访问本地文件的。因此在本机中使用idea打开HTML文件,浏览器无法通过绝对路径访问文件。
因此,以后使用html访问文件时,应当尽量避免绝对路径的使用。