我有一个用纯HTML编写的信息页面。
所有图片链接都是这样的:
< img src =“/ images / image.png”/>所以they refer to the root of the web site。
但是我想在更新之前查看嵌入了图像的页面。在chrome中,< img src =“/ images / image.png”/>在文件中查找:/// c:/ imgs /。但是我想将其重定向到file:/// C:/ web / site / imgs /。
我正在尝试使用<base >无效。
答案 0 :(得分:2)
<base >
仅影响与网页相关的链接。它基本上“假装”您的页面位于不同的位置,因此相对于该页面给出的地址现在将相对于该新位置。
您的地址根本不与页面相关。无论您在file:///
页面内的哪个位置,图像都清晰地显示为“/ images /..."
在大多数平台上,在localhost上设置简单的Web服务器非常简单。 (Mac OS X附带一个开箱即用的功能,只需在系统偏好设置中选中一个框即可。)设置此类服务器进行开发可让您在http://localhost/查看该网站,并可能解决此问题链接“问题。
如果该解决方案不切实际,您可以考虑设置别名或符号链接,以使您已经正常工作的服务器相对链接。不过,这有点过时了。
答案 1 :(得分:1)
当您的网址完全相同时,您无法使用<base>
。以下是几种选择:
解决方案#1:使用Windows subst
命令为“root”目录创建驱动器号:
subst R: C:\web\site
然后将浏览器指向R:\
解决方案#2:安装配置为C:\web\site
的根目录的网络服务器,并将浏览器指向该位置。
使用真实的Web服务器是一种更好的测试网站的方法 - 浏览器的JavaScript安全策略在本地文件和通过Web服务器读取的文件之间存在显着差异。
答案 2 :(得分:1)
如果你想要&lt;
你必须将图像路径更改为相对URL。 BASE&gt;标记以更改域以及文件夹路径。
答案 3 :(得分:0)
首先,您必须确保base的href属性内容以/
例如:
<base href="file:///C:/web/site/imgs/" />
鉴于此,base将更改您网页中所有相对 URI的行为,因此<img src="/images/image.png" />
将继续指向file:///images/image.png
,但
<img src="images/image.png" />
现在指向file:///C:/web/site/imgs/images/image.png
。