问题描述
页面上有一个指向本页面锚点的链接,点击之后导致页面重新加载,而原来在url中的参数丢失
例如:
一个页面的链接是http://127.0.0.1/app/a.jsp?arg1=a&arg2=b
点击锚点连接后应该指向http://127.0.0.1/app/a.jsp?arg1=a&arg2=b#anchor1
但是实际却指向了http://127.0.0.1/app/a.jsp#anchor1
解决办法
请检查页面是否有类似<base href="http://127.0.0.1/app/a.jsp" />这样的标签。删掉。
原因
<base> 标签为页面上的所有链接规定默认地址或默认目标。
通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。
使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。