
<base>标签是针对所有<a>标签起作用,如<base>标签和<a>标签都有target属性,那么遵循就近原则,最终效果取决于<a>标签中的属性。
<head><base href="全局地址"target="全局属性"></head>
1、<base>标签必须在<head>标签中使用;
2、<base>标签全局地址(href指定的地址)是针对相对连接的<a>标签起作用;
3、<base>标签全局属性(target属性)是针对所有没有设置该属性(target属性)的<a>标签起作用;
4、<base>标签全局地址(href指定的地址)也可以是相对地址;
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>html中<base>标签的详细介绍</title><base href="image/base/images/" target="_blank"></head><body bgcolor="burlywood"><a href="1.png"><h3>第一个a标签,相对于base标签指定的目录</h3></a>
<a href="2.png" target="_self"><h3>第二个a标签,相对于base标签指定的目录</h3></a>
<a href="/image/base/images/3.png"><h3>第三个a标签,相对于根目录</h3></a></body></html>
1、实例中三个<a>标签的实际地址都是“根目录/image/base/images/x.png”,建议用前两个的方式,比较简短;
2、实例中第一个<a>标签和第三个<a>标签的target属性值都是“_blank”,即从新窗口打开;而第二个<a>标签的target属性值是“_self”,即从当前窗口打开;
使用<base>标签最主要的原因,是为了确保文档中所有的相对URL都可以被分解成正确的文档地址,即使在文档本身被移动或重命名的情况下也可以正确解析。在创建文档集合时,使用<base>标签尤为重要。通过在每个文档中放置正确的<base>标签,就可以在目录甚至服务器之间移动整个文档集合,而不会破坏文档中任何链接。如果想要让用户查询指向一个与主文档URL不同的URL,那么也需要为可搜索文档(<isindex>)使用<base>标签。
当文档同事包含<isindex>标签和其他相对URL时,如果相对URL与所希望的索引处理URL无关,那么就可能会出现问题。正因为这个原因,所以请不要在使用<base>标签的可搜索文档中用相对URL来指定文档的查询URL。
例如:
<base href="http://tanminr.free-web-hosting.biz/">那么,整个页面的相对地址就是在tanminr.free-web-hosting.biz底下展开的。不管移动到何处。
base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。
base 元素可规定页面中所有链接的基准 URL
我们可以使用 <base>标签中的href属性来设置,所有的“相对基准 URL”。
这是JSP端的代码
采用了html文件中的 <base>标签:
代码如下:
<%
String path = request.getContextPath()
// 获得项目完全路径(假设项目叫myWork,那么获得到的地址就是 http://localhost:8080/myWork/):
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
// 将 "项目路径basePath" 放入pageContext中
%>
<html>
<head>
<base href=" <%=basePath%>">
//base只能应用于标记<head>与</head>之间
</head>
// 这里就可以直接使用相对路径(即: 相对于base标签)
<a href="jsp/login.jsp">Login </a>
</html>
当执行上面的那段JSP代码后,可以在浏览器中可以查看,所返回给客户端的html代码:
执行完上述JSP后,所返回的html代码如下:
<html>
<head>
<base href="http://localhost:8080/myWork/">
</head>
// 设置了 <base>后,相对路径,相对于的就是base中的路径,而不再是浏览器地址的请求路径。
<a href="jsp/login.jsp">Login </a>
</html>
可以看到JSP返回的html代码中,包含了 <base href="http://localhost:8080/myWork/">内容。
也就是说,在本html文件中,遇到的所有 “相对链接(例如: <a href="jsp/login.jsp">)”,都是相对于base
的路径(即:http://localhost:8080/myWork/)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)