2013-05-03 23 views
8

我怎麼能或者有可能在網頁加載的時候這樣做,它顯示的第一件事就是網頁的一部分,你希望這個人首先看到哪個錨標籤。如何使頁面加載到錨標籤?

可能嗎?

感謝您提前提供所有幫助。

回答

4

使用javascript。

解決方案1 ​​

當文檔載入,去你想要

<script type="text/javascript"> 
function load() 
{ 
window.location.hash="mylocation"; 
} 
</script> 

解決方案2

在標題中的 「哈希」 或錨:

<script type="text/javascript" language="javascript"> 
    function moveWindow(){window.location.hash="mylocation";} 
</script> 

在身體標記:

<body onload="moveWindow()"> 

而且你的錨:

<a name="mylocation"></a>

+0

非常感謝!我需要一種方法在Twig URL中設置錨點,以便在引發異常時轉到頁面上的特定位置。不能完成,所以相反,我在body標籤中放置了一個樹枝變量,並將其設置爲一個空字符串。然後,如果拋出異常,我使用javascript填充字符串變量,如答案(window.location.hash =「foo」)所示,並將其添加到頁面的呈現中:。 – paidforbychrist 2017-11-18 01:34:41

9

一些簡單的像這樣會做

<body onload=' location.href="#myanchor" '> 
<a id='myanchor' href='#'>anchor text</a> 
1

這裏有一個2018更新這是更加動態一點。

如果要拉取網址,請從網址中拉出錨點,然後將頁面移至該錨點,則可以在頁面加載時運行此JavaScript。

if (window.location.href.indexOf('#') == 0) { 
    let hash = window.location.href.split('#')[1]; 
    let hashTop = document.querySelector(`#${hash}`).offsetTop; 
    window.scrollTop = hashTop; 
} 

還有這種方法,它更簡潔一點。

if (location.hash) { 
    let target = location.hash; 
    window.scrollTop = document.querySelector(target).offsetTop; 
} 

如果你不巴貝爾編譯器ES6,只是改變了let關鍵字var。這也適用於WordPress,它會在錨點之前的URL中添加一個斜槓。