关于A标签#的问题

首先的区分有没有用bathpath
1.没有使用bathpath
http://localhost:8080/project/xxx.html页面下
(1) <a>请单击</a>如果href属性为空将失去超链接的特性
(2) <a href="">请单击</a>
I.在谷歌浏览器下,跳转当前页,依然跳转http://localhost:8080/project/xxx.html
点击它,会刷新页面,导致一次无意义的请求,浪费服务器资源
II.在IE11下,会跳转项目根目录http://localhost:8080/project/
(3) <a href="#">请单击</a> 页面路径后多个#
http://localhost:8080/project/xxx.html#效果会是到页首
(4 )<a href="#top">请单击</a> 页面路径后多个#top
http://localhost:8080/project/xxx.html#top,效果同(3),路径不同
(5) <a οnclick="alert('Hello World!!!')">请单击</a>原理效果同(1)
(6) <a href="" οnclick="alert('Hello World!!!')">请单击</a>
I.在谷歌浏览器下,alert以后效果同(2)
II.在IE11下,alert以后效果同(2)
(7) <a href="#" οnclick="alert('Hello World!!!')">#</a>页面路径后多个#
http://localhost:8080/project/xxx.html#,alert以后效果同(3)
(8) <a href="#top" οnclick="alert('Hello World!!!')">#top</a>页面路径后多个#top
http://localhost:8080/project/xxx.html#top,alert以后效果同(4)
疑点1:(3)的情况是否会刷新页面,如何证明
疑点2:据网上资料显示,(3)是(4)的一种缩写
2.使用bathpath
myeclipse新建jsp页面时,会有如下代码
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">
作用是使页面无论处在哪里, 都相当于在当前WEB项目的根路径下
http://localhost:8080/project/xxx.jsp页面下
(1) <a>请单击</a>如果href属性为空将失去 超链接的特性
(2) <a href="">请单击</a> 
I.在谷歌浏览器下, 跳转项目根目录 http://localhost:8080/project,这是因为bathpath的作用
II.在IE11下,会跳转项目根目录http://localhost:8080/project/
(3) <a href="#">请单击</a>跳转项目根目录/#,http://localhost:8080/project/#
并没有出现想象中的 http://localhost:8080/project/xxx.jsp#
还是因为bathpath的作用:使页面无论处在哪里, 都相当于在当前WEB项目的根路径下
如果是a标签href="b" 难道能跳到/xxx.jsp/b去吗?
(4 )<a href="#top">请单击</a> 跳转项目根目录/#top,http://localhost:8080/project/#top
并没有出现想象中的 http://localhost:8080/project/xxx.jsp/#top,原理同(3)
(5) <a οnclick="alert('Hello World!!!')">请单击</a>原理效果同(1)
(6) <a href="" οnclick="alert('Hello World!!!')">请单击</a>
I.在谷歌浏览器下,alert以后效果原理同(2)
II.在IE11下,alert以后效果同(2)
(7) <a href="#" οnclick="alert('Hello World!!!')">#</a> alert后跳转项目根目录/#,
http://localhost:8080/project/#,效果原理同(3)
(8) <a href="#top" οnclick="alert('Hello World!!!')">#top</a> alert后跳转项目根目录/#top,
http://localhost:8080/project/#top,效果原理同(4)
疑点1:如何解决在既有basepath的情况下#跳转到页首的问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值