我将外部页面的大型html源(例如http://www.foo.com/bar/something.html)复制到我PC中的目录中(例如,/ xxx)。文件'something.html'包含许多绝对引用,格式为href =“/ bar / another.html”或src =“/ bar2 / yetanother.jpg”等。
如果我只是点击'something.html'(从我的浏览器以'file://'访问它) - 或者即使我将其上传到我自己的服务器并通过'http://'访问它 - 所有这些引用都将在文件所在的同一主机中查找。我仍然希望将它们放在原始主机中(即http://www.foo.com)。
如果它们是相对引用(没有第一个斜杠),我会简单地把< base href =“http://www.foo.com/”>在HEAD部分。 如何使用这些绝对引用实现类似效果?
还要考虑something.html包含许多其他文件(css,js,...)的情况,这些文件也可能有这样的绝对引用......
答案 0 :(得分:-3)
您的术语是向后的:引用/bar/another.html
是相对引用,而不是绝对引用。 /
表示在资源的根目录重新启动。对于file:///
网址,这将从文件系统的根目录开始,但它仍然是相对的。
如果你添加<base href="...">
,它会在...
之前添加到网址,除非网址确实是绝对的(以http://
开头,ftp://
,{{1}等等)
如果您使用基本href作为file://
,您将从那里(不是从文件系统的根目录)链接资源,或者作为file:///where_i_downloaded/
来强制浏览器尝试从原始服务器加载(尝试,因为AJAX服务的URL可能不适用于此)。