2013-03-18 131 views
23

如何创建一个链接到另一个网站上我不控制的长网页的一部分?链接到网页的特定部分

我想你可以在我的链路的末端使用#partofpage的变体。有什么建议么?

+0

可能的重复[如何链接到页面的一部分? (哈希?)](http://stackoverflow.com/questions/2835140/how-do-i-link-to-part-of-a-page-hash) – Quentin 2016-11-02 16:37:02

+0

要链接这部分的答案使用下面的链接,https ://stackoverflow.com/questions/15481911/linking-to-a-specific-part-of-a-web-page – 2017-12-26 13:25:21

+0

要链接页面使用这部分的链接,https://stackoverflow.com/questions/15481911 /链接到特定部分的网页 – 2017-12-26 13:26:30

回答

26

只需追加一个#后跟<a>标记(或其他HTML标记,例如<section>)的标识即可。例如,如果你想在这个HTML链接到标题:

<p>This is some content.</p> 
<h2><a id="target">Some Header</a></h2> 
<p>This is some more content.</p> 

你可以使用链接<a href="http://url.to.site/index.html#target">Link</a>

+1

谢谢你们,它总是你忘了的简单的事情! – mjmuk 2013-03-18 17:21:22

+0

它不需要是你链接到(通常它更有意义的是不被锚:更好地链接到一个''

,例如)的''元素。 – Quentin 2016-11-02 16:38:12

+6

@Quentin给我一个休息时间,我在3年前写了这个:)我会尽快更新它。 – APerson 2016-11-02 16:40:09

13

创建使用以下格式的“跳链接”:

http://www.somesite.com/somepage#anchor 

锚在哪里就是你要链接到页面上的元素的ID。使用浏览器开发工具/查看源查找您希望链接到的元素的ID。

如果元素可是没有一个id,你不控制该网站,那么你不能做到这一点。

+0

谢谢你们,它总是你忘记的简单的事情! – mjmuk 2013-03-18 17:20:03

1

如果目标页面是在同一个域(即股份同一产地与你的页面),你不介意的新标签创建( 1),你可以(AB)使用一些的JavaScript

<a href="javascript:void(window.open('./target.html').onload=function(){this.document.querySelector('p:nth-child(10)').scrollIntoView()})">see tenth paragraph on another page</a>

花絮:

012的
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:(function(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','footer')

如果你进入到地址栏这个(记住,从剪贴板粘贴在Chrome中删除javascript:前缀)或使它是一个href这个页面上的任何链接的价值(使用开发工具)并点击它,你会得到另一个(重复)SO问题页面滚动到页脚和页脚涂成红色。 (延迟添加为AJAX负载的内容加载后推页脚下来一种解决方法。)

  • 在当前铬和Firefox测试,因为它是基于定义的标准行为通常应该工作。
  • 在SO中无法在交互式片段中进行说明,因为它们与页面原始位置隔离。
  • MDN: Window.open()
  • (1)window.open(url,'_self')似乎正在打破load事件;基本上使得window.open表现得像一个正常的a href=""点击导航;还没有研究更多。
1

您可以使用Citebite链接到的网页的特定位置,即使它没有在这个位置使用的ID。

相关问题