一、美工写页面使用相对路径,但后台使用项目的应用绝对路径,访问时会出现404或页面乱码的问题
目前的解决方法:在页面中添加base标签,指定当前页面默认的路径
base标签:为页面上的所有链接规定默认地址或默认目标,浏览器会使用 标签中指定的URL来解析所有的相对URL,base其实就是定义一个默认的地址和默认目标
举个例子:
<html> <head> <base href="http://static.cnblogs.com/" /> </head> <body> <img src="./images/logo_gray.gif" /> </body> </html>
一个BUG
base标签最好不要动态写入,否则在Firefox和IE中会有一个小bug,比如对于页面http://localhost/static/test.html
但是目前我用的还是挺不错,没有什么问题。
<base> 标签为页面上的所有链接规定默认地址或默认目标。
通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对
URL 中的空白。
使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL
来解析所有的相对URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。
测试:
1:放在base标签前面的link路径可以使用相对路径且是相对于当前路径,
但是放在其后面的link使用相对路径将是相对于base指定的路径。
2:使用了base标签后body中的链接的相对路径将是相对于base指定的路径。
3:使用了base默认目标后,之后的打开方式将采取base指定的方式打开,除非后面又显示定义了打开方式。
总结:base其实就是定义一个默认的地址和默认目标。在其后的链接元素都将起作用。
时间: 2024-12-11 15:37:38