我的主页面顶部有一个banner,这个banner会得到一个链接到网站的另一个页面。
例子。
<a href="https://www.myWebSite.com/other-page-than-home">click here</a>
到目前为止,一切都很顺利
这个链接是在数据库中定义的,也可能关系到另一个网站(这就是为什么我在这里不使用传统的树枝:"{{ path('road') }}")。
我的问题是,当我想引用页面的某个特定部分时。
<a href="https://www.myWebSite.com/other-page-than-home#section-1">click here</a>
点击锚点后,什么都没有发生,而不是向我的浏览器请求新的URI来加载新的页面。
如果我直接用浏览器请求这个URI,它就会在好的部分正确加载我的页面。
所以我不知道是否可以用这种方法链接到另一个页面的特定部分,如果可以,为什么不能用?是Symfony的问题,还是twig的问题,还是服务器端的问题?
谢谢你的帮助 因此,链接成功地生成在页面上,但我刚刚发现,一个litlle无辜的代码,设置在主层的其他开发人员,使我的麻烦。
$("#whatBonClick a").on('click', function(event) {
if (this.hash !== "") {
event.preventDefault();
var hash = this.hash;
...
}
所以我就自己写了一段代码来解决这个问题。
$("#whatBonClick a").on('click', function(event) {
let requestedHref = event.currentTarget.getAttribute('href').split('#')[0]
let baseHref = window.location.href.split('#')[0]
if ((requestedHref.length === 0 || baseHref === requestedHref) && this.hash !== "") {
event.preventDefault();
var hash = this.hash;
...
}
现在一切都完美地运行了!
ps.这里也是为了触发一个锚点。(requestedHref.length === 0 || baseHref === requestedHref)
这里也可以触发一个锚,比如 <a href="#SectionId">*</a>