我一直在试图弄清楚如何让传统的HTML书签在SilverStripe网站上运行。我让他们正确地工作,因为他们确实导航到正确的div。但是,所有书签都会导航到主页上的相应部分,这是不正确的。
例如,我在页脚的每个页面底部都有一个按钮,用于将用户带回页面顶部:
<footer class="footer">
<a href="#top" class="toTop"><i class="fa fa-angle-up"></i></a>
<div class="grid-container">
<div class="grid-100 mobile-grid-100 tablet-grid-100">
<h3>Back to top</h3>
<span class="copyright">© $Now.Year<br></span></div>
</div><!-- close container -->
</footer>
但是,当单击子页面上的“返回顶部”按钮时,用户将被带到主页的顶部。 “联系我们”部分链接也会发生同样的情况 - 您总是会被带回主页的“联系我们”部分。但这不是我想要的。书签应该让用户保持在他们所在的页面上。
我把这行代码放在config.yml文件中:
SSViewer: rewrite_hash_links:false
这阻止了书签被视为网站网址,但这并未修复它看起来的一切。我可以添加到.yml文件中以防止子页面上的书签返回主页吗?
编辑:禁用JavaScript无法解决问题,因此它与服务器端无关。问题出现在Chrome,FireFox,Safari和IE中,因此它似乎不是特定于浏览器的。
答案 0 :(得分:0)
据我所知,我相信你需要为你的案例做的只是使用ID
中的div的href
,它应该带你到页面的顶部到哪里你有<div id="top"></div>
。
<强> E.g 强>
<footer class="footer">
<a href="#top" class="toTop"><i class="fa fa-angle-up"></i></a>
<div class="grid-container">
<div class="grid-100 mobile-grid-100 tablet-grid-100">
<h3>Back to top</h3>
<span class="copyright">© $Now.Year<br></span></div>
</div><!-- close container -->
</footer>
这也称为HTML锚链接而不是书签:http://www.rapidtables.com/web/html/link/html-anchor-link.htm