网页中的
a
标签具有地址跳转的功能,href
属性指向跳转的地址。
一、三种地址模式
网络地址分为两种,一种是绝对地址,一种是相对地址。
但是相对地址又可以细分为两种,一种是基于当前目录的相对地址,一种是基于服务器根目录的相对地址。
二、三种地址详解
以下做一个详细介绍:
绝对地址是带有
http
头部的网络地址(注意,这里是一定需要带有网络协议头部的,否则会被当成相对地址),例如:http://lancelot_lewis.coding.me/当前目录相对地址就是指根据当前目录去判断
a
链接中地址的具体位置。例如:http://lancelot_lewis.coding.me/categories/ 这个目录下有5个子目录,其中一个子目录为Js
:http://lancelot_lewis.coding.me/categories/Js/ ,另外一个子目录为Html
:http://lancelot_lewis.coding.me/categories/Html/ ,如果想从Js
的目录跳转到Html
中,Js
页面中可以添加一个这样的标签:(../
表示回到上一目录)
<a href="../Html">Html目录</a>
- 服务器根目录相对地址就是指根据服务器的根目录去判断
a
链接中地址的具体位置,例如:http://lancelot_lewis.coding.me/2016/04/30/blog/hexo-coding/ 这个地址是一篇博文,另外一个地址:http://lancelot_lewis.coding.me/2016/05/11/blog/hexo-guestbook/ 也是一篇博文。假设现在我需要在第一篇博文中添加一个第二篇博文的地址,如果我使用当前目录相对地址的方式,就是这样:../../../05/11/blog/hexo-guestbook/
,冗长并且需要自己清楚当前处于哪个目录,过于麻烦,并且不同的目录下这个地址还会不一样;而如果使用服务器目录相对地址就是:/2016/05/11/blog/hexo-guestbook/
这里就只需要关注每一篇博文的地址,最前面使用一个/
表示服务器根目录即可,这个地址就能够在博客的任意页面中使用。
三、使用场景
详细介绍讲完了,再来讲讲每一种地址的具体使用场景。
绝对地址: 绝对地址一般都是使用在跨域名的场景之中,在一个域名下的网页需要跳转到另一域名下的网页,在这里其实也只能使用绝对地址。
当前目录相对地址: 一般适用于页面结构不会改动的页面中的
a
标签和只属于某一页面的js
跳转中。服务器根目录相对地址: 使用范围包括了当前目录相对地址,适用于同一域名下的所有网页和
js
文件中的跳转。而且尽量使用该地址代替当前目录绝对地址
,好处就在于,如果网页页面的结构有变,或者是编写的js
脚本会重用在多个不同的页面,服务器相对地址就是你首要解决方案。
四、总结
- 跨域名的情况下使用绝对地址
- 尽量使用服务器根目录相对地址而不是当前目录相对地址
- 多编程找到合适自己的代码实践
附上个人博客对应博文地址:
http://lancelot_lewis.coding.me/2016/07/08/html/network-address/