我想将我的读者引导到第三方HTML
网页中的特定位置。感兴趣的段落如下所示:
<div>
<h1>qwerty</h1>
<p>blah blah</p>
</div>
您可以看到,没有任何元素具有id
s(因此http://webpage/#id
不起作用)。但是,<h1>
标记中的单词是唯一的,无法在文档中的任何其他位置找到。有没有办法提供一个链接,将用户直接带到网页上的那个位置?
答案 0 :(得分:1)
更好的方法是在元素中使用id
属性。
但您可以使用jquery :contains
选择器查找包含hash
的元素。然后获取元素的顶部位置并滚动窗口到它的位置。
window.location.hash = "id";
var hash = window.location.hash.replace("#", "");
var scrollTop = $("h1:contains(" + hash + ")").offset().top;
window.scrollTo(0, scrollTop);
div {
height: 300px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
<h1>id</h1>
<div></div>
<h1>id2</h1>
<div></div>
答案 1 :(得分:0)
您无法链接到页面中的某些文字,因此如果您不控制该网站,则无法进行此操作。
我能做的最接近的事情就是使用citebite,它会创建一个插入了id的新页面,以便它可以带你到那个部分。然而,根据我的经验,它很受欢迎。