Hyperlink 链接到网页的特定部分

Hyperlink 链接到网页的特定部分,hyperlink,Hyperlink,如何在另一个我无法控制的网站上创建指向长网页部分的链接 我想你可以在我链接的末尾使用#部分页面的变体。有什么建议吗?只需添加一个,后跟的ID,使用以下格式创建一个“跳转链接”: http://www.somesite.com/somepage#anchor 其中anchor是您希望在该页面上链接到的元素的id。使用浏览器开发工具/视图源查找要链接到的图元的id 如果该元素没有id,而您无法控制该站点,则您无法控制该站点。只有该站点在页面中声明了锚,才有可能做到这一点。 这是通过给一个标记a来完

如何在另一个我无法控制的网站上创建指向长网页部分的链接

我想你可以在我链接的末尾使用#部分页面的变体。有什么建议吗?

只需添加一个
,后跟

的ID,使用以下格式创建一个“跳转链接”:

http://www.somesite.com/somepage#anchor
其中anchor是您希望在该页面上链接到的元素的id。使用浏览器开发工具/视图源查找要链接到的图元的id


如果该元素没有id,而您无法控制该站点,则您无法控制该站点。

只有该站点在页面中声明了锚,才有可能做到这一点。 这是通过给一个标记a来完成的,所以请查找任何靠近您想要链接的位置的标记

然后语法将是

<a href="page.html#anchor">text</a>

如果目标页面位于同一域中(即与您的页面共享相同的源代码),并且您不介意创建新选项卡(1),您可以(ab)使用一些JavaScript

琐事:

var w = window.open('some URL of the same origin');
w.onload = function(){
  // do whatever you want with `this.document`, like
  this.document.querySelecotor('footer').scrollIntoView()
}
您现在可以尝试的此类“利用”的工作示例可能是:

javascript:(函数(url,sel,w,el){w=window.open(url);w.addEventListener('load',function(){w.setTimeout(function(){el=w.document.querySelector(sel);el.scrollIntoView();el.style.backgroundColor='red'},1000)})('https://stackoverflow.com/questions/45014240/link-to-a-specific-spot-on-a-page-i-cant-edit“,”页脚“

如果您将其输入位置栏(请注意,当从剪贴板粘贴时,Chrome会删除
javascript:
前缀)或将其作为此页面上任何链接的
href
值(使用开发人员工具)并单击它,您将获得另一个(重复的)SO问题页面,该页面将滚动到页脚并将页脚涂成红色。(添加延迟,作为加载ajax内容后向下推页脚的解决方法。)

注释

  • 在当前的Chrome和Firefox中测试,通常应该可以工作,因为它基于定义的标准行为
  • 无法在此处的交互式代码段中进行说明,因为它们与页面原点隔离
  • (1)
    window.open(url,“'u self”)
    似乎正在破坏
    load
    事件;基本上使
    窗口打开。open
    的行为与正常的
    a href=“”
    单击导航一样;还没有更多的研究

First off target指的是您试图链接到的HTML代码或chromes developer工具中的BlockID。每个代码都是不同的,您需要进行一些挖掘以找到您试图引用的ID。它应该类似于
div class=“page container drawer page content”id“PageContainer”
注意,这是整个引用部分的格式,而不是单个文本或图像。要做到这一点,您需要找到与目标块相关的同一段代码。例如,
dv id=“your block id”
无论如何,我刚刚读了这篇文章,突然想到了一个想法,如果你是Shopify用户,并且想这样做,那么这与前面所说的差不多。 而不是

> http://url.to.site/index.html#target
你会把

> http://storedomain.com/target
> http://mystore-classifier.com/pagename/#BlockID
例如,我正在设置一个免责声明页面,其中包含指向我主页上的时事通讯注册和购物区的链接,因此我插入
https://mystore-classifier.com/#shopify-我的超链接的第1528945200235节
。 请注意,-分类器仅供我内部使用,不适用于您。这只是为了让我能跟踪我的店铺。 如果你想链接到你的主页以外的东西,你可以

> http://storedomain.com/target
> http://mystore-classifier.com/pagename/#BlockID
我希望有人觉得这很有用,如果我的解释有问题,请告诉我,因为我不是HTML程序员,我的语言是C#

即将推出的Chrome“滚动到文本”功能正是您想要的

基本上,您可以在URL的末尾添加
#targetText=
,浏览器将滚动到目标文本,并在加载页面后将其高亮显示



它是在我的办公桌上运行的Chrome版本中,但目前必须手动启用。据推测,它将很快在Chrome产品版本中默认启用,其他浏览器也将随之启用,所以现在就开始添加链接,然后它将开始工作

如果在Atlassian Confluence中需要此链接,这不是很简单,但是他们在这里记录了它:
name
属性仅在
元素上支持此属性,它在HTML5中已经过时了。对我来说,它对元素的关注度太低了。有人发生过同样的事情吗?如果这个ID被多次使用呢?我遇到一个MS站点,该站点多次使用
id
id
,其中
的某个字符串几次成为新字符串。@kayleeFrye\u onDeck如果存在多个
id
,则您的HTML无效。根据定义,
id
是该标记所独有的,感谢您的澄清,@KolobCanyon!:)对于一个只使用一次的类,有没有办法做到这一点?也许我太天真了,但当我不小心做了
www.site.com/page/#target
时,它失败了。确保url末尾没有
/
。如果网页的特定部分没有与之关联的id怎么办?那么您需要将id添加到元素中我可以将id添加到internet网页上的标记中吗?不,如果您想对其他网站执行此操作,您可以尝试创建一个自定义JS bookmarklet以滚动到您想要滚动到的部分。如果未设置ID,则无法使锚定链接正常工作。是否可以链接到上面指定的内容以执行此操作?我以前从未做过类似的事情。嗯,它没有滚动到底部,底部也不是红色的……而且它也没有打开新窗口,我支持