温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在HTML中的base标签写相对路径

发布时间:2020-07-21 13:55:57 来源:亿速云 阅读:203 作者:Leah 栏目:web开发

今天就跟大家聊聊有关怎么在HTML中的base标签写相对路径,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

首先我们说HTML中的base标签写相对路径的内容:

html中base标签解决相对路径问题,

问题是门户系统一直使用的是相对路径,首页做了rewrite,而首页的很多链接(包括css、js、图片等)都是相对路径,问了门户系统那边的没法解决,只能用相对路径。

杯具来了,href="news/2014/05/25/1234.html"类似这样的链接都成了http://www.111cn.net /news/2014/05/25/1234.html的全路径,而这个路径在nginx中是没法识别成门户系统的(nginx是通过/portal来匹配的)。

这是因为:HTML文档所有链接中的相对路径,浏览器都会提取当前文档的URL来填充。

突然想起了HTML的base标签,来看W3C的解释:

<base> 标签为页面上的所有链接规定默认地址或默认目标。

通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。

使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。

html中base标签的使用实例:

<head>
<base href="https://cache.yisu.com/upload/information/20200318/90/8113.jpg" />
<a href="http://www.php.cn">W3School</a>
</body>

问题解决了。

注:文中使用的域名是真的,但是路径确是找不到的。

base标签最好不要动态写入,否则在Firefox和IE中会有一个小bug,比如对于页面http://localhost/static/test.html:

html中base标签的使用实例:

<html>
<head>
<script>
document.write('<base href="http://localhost/" />');
</script>
</head></p> <p><body>
<img src="static/1.jpg" />
</body>
</html>

base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。

利用html中的 <base>标签获取相对路径:(绝对路径不支持)

下面是对html中的 <base>的介绍:

base 元素可规定页面中所有链接的基准 URL

默认情况下,页面中的链接(包括样式表、脚本和图像的地址)都是相对于当前

页面的地址(即:浏览器地址栏里的请求URL)。

我们可以使用 <base>标签中的href属性来设置,所有的“相对基准 URL”。

上面说的是什么意思呢?我们来看看代码就知道咯~~

这是JSP端的代码 ,下面的代码 (十分类似上面 “方法一” 中的JSP代码)

但是这里我们并没有采用 ${pageScope.basePath}+”相对路径地址” 的方法,

现在采用了html文件中的 <base>标签:

<html>
<head>
<base href="http://localhost:8080/MyApp/">
</head>
<!-- // 设置了 <base>后,相对路径,相对于的就是base中的路径,而不再是浏览器
地址的请求路径啦~~~  -->
<a href="jsp/login.jsp">Login </a>
</html>

看完上述内容,你们对怎么在HTML中的base标签写相对路径有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI