您需要使用共享按钮而不是共享 URL 才能与锚共享链接。即使是对锚点进行 URL 编码,也会导致它们从与链接共享的 URL 中被剥离。使用按钮时,指定 href 值以包含您需要的特定锚点。
如果需要共享链接,另一种方法是....
将在您的网站上实施锚点的替代方法。例如,使用http://mysite.com/?article=myarticleid,其中 myarticleid 与锚点相同,并在页面加载时检查(来源)。
function getParameter(param) {
var val = document.URL;
var url = val.substr(val.indexOf(param))
var n=url.replace(param+"=","");
alert(n);
}
var anchor;
function checkForAnchor(){
anchor = getParameter("myarticle");
// Do something with anchor, see code examples below.
}
window.onload = checkForAnchor;
然后在该 checkForAnchor() 函数的末尾添加一些 JavaScript,它将在加载时将页面滚动到正确的位置,或者只是跳转到锚点。
在 jQuery 中,您可能会像 ( source ) 一样为该效果设置动画:
jQuery('html,body').animate({scrollTop: jQuery('#' + anchor).offset()}, 1000);
在标准 JavaScript 中,您可以简单地更改位置并附加锚点:
window.location = '#'+id;