是否可以在外部页面上做一个锚,用一个ID来引用这个页面的特定html部分(symfony)。

问题描述 投票:0回答:1

我的主页面顶部有一个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的问题,还是服务器端的问题?

html symfony anchor
1个回答
1
投票

谢谢你的帮助 因此,链接成功地生成在页面上,但我刚刚发现,一个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>

© www.soinside.com 2019 - 2024. All rights reserved.