2013-03-18 129 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。

相關問題