我正在尝试创建一个单页网站,其中导航元素用于滚动到页面的特定部分:
但是,我对“一页网站”的问题是 anchor 链接不会在 Google 上用作附加链接。我通过添加 schema.org 标记尝试了以下操作,看看是否会有所不同,但谷歌似乎不会在谷歌搜索结果中注册附加链接的 anchor 。
导航示例:
<nav role="navigation" itemscope="itemscope" itemtype="http://schema.org/SiteNavigationElement">
<ul>
<li class="hidden active"><a class="page-scroll" href="#what" itemprop="url">What</a>
</li>
<li><a class="page-scroll" href="#works" itemprop="url">How It Works</a> </li>
<li><a class="page-scroll" href="#who" itemprop="url">Who</a>
</li>
<li><a class="page-scroll" href="#why" itemprop="url">Why</a>
</li>
</ul>
</nav>
我希望以上内容显示为这样的附加链接:
我当前用于滚动到页面上的各个部分的 JavaScript 代码是这样的:
//jQuery for page scrolling feature - requires jQuery Easing plugin
$(function() {
$('a.page-scroll').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500, 'easeInOutExpo');
event.preventDefault();
});
});
我尝试创建实际页面并将 anchor 更改为真实链接,但我不确定是否可以禁用这些链接以保持页面滚动正常工作。
因此,新的导航链接本质上如下所示,但它们实际上不会定向到该页面,它们只会滚动到同一页面上的部分:
<a class="page-scroll" href="what" itemprop="url">What</a>
我知道可以通过几种不同的方式禁用链接,但使用 javascript(void);或其他类似的方法将不起作用,因为这些必须是真实的链接。关于如何实现这一目标有什么建议吗?
这是一个例子:
最佳答案
我可以建议您的网站采用稍微不同的架构吗?创建单独的页面,保持代码不变,以使单页布局能够滚动到页内 anchor ,并在页脚中包含站点地图,其中包含指向不同页面的链接。这将准确地保持您在一页滚动时尝试执行的操作。然后,Google 链接可以转到实际页面,然后可以使用 php 重定向到主页
header('Location: xxx.php');
关于javascript - 是否可以使用 javascript/jquery 禁用链接重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294495/