2016-02-29 98 views
-1

Ancor不能與javascript一起使用。Anchor不能與javascript一起工作

當我使用URL加載我的頁面時,錨點起作用。 當我把它作爲例子設置它。頁面正在加載,但錨點不起作用。 (順便說一句:爲了我的目的,它的姊妹重新加載發生)。

這裏我的腳本(評論什麼,我想)..和actualy我想更多...

function hash_test() { 
    href = window.location.href; 
    alert(href);  
    if (href.lastIndexOf('#') > 0){ //remove hash if present 
    href = href.substring(0,href.lastIndexOf('#'));  
    } 
    alert(href); 
/* window.location.href = href; 
    window.location.hash = '#beitrag9';*/ // does not work to 
    window.location.href = href +'#beitrag9'; 
    window.location.reload(true); 
} 
+2

此錨應該完成什麼? – Harangue

+0

你是否從你的代碼中調用了'hash_test()'函數? –

+0

爲什麼頁面需要重新加載?沒有這些信息,這聽起來像一個XY問題http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem –

回答

1

你的腳本工作對我來說:剛纔試過現在這個網頁

function hash_test() { 
    href = window.location.href; 
    alert(href);  
    if (href.lastIndexOf('#') > 0){ //remove hash if present 
    href = href.substring(0,href.lastIndexOf('#'));  
    } 
    window.location.href = href +'#35711597'; 
    window.location.reload(true); 
} 

粘貼在控制檯的功能和調用hash_test()重新打開這個頁面,讓我在這裏,在這個答案。

也許在某些情況下(頁面重載不會在直接用戶交互occurr),或在某些瀏覽器不工作。

您可以嘗試然後強制頁面總是在編程的onload這個在標題的底部滾動到錨。

<script> 
    window.onload=function() 
    { 
     var href, 
      hash; 

     href = window.location.href; 
     if(href.lastIndexOf('#') != -1) 
     { 
      hash = href.substring(href.indexOf('#')); 
      if(hash.lastIndexOf('?') != -1) 
      { 
       // cut away query string as well (if present) 
       hash = hash.substring(0, hash.indexOf('?')); 
      } 
      window.location.hash = hash; 
     } 
    }; 
</script> 

底線:

錨HTML的一個衆所周知的和支持的功能(甚至StackOverflow上依賴於他們產生指向特定的答案)。

但是你讓他們的使用是很「邊緣」:我提出的代碼段是一個黑客,而不是一個典型的解決方案,你可能期望跨瀏覽器的行爲不一致。

現在讓我給一些上下文你原來的問題:

這似乎你需要重新加載頁面是一些數據發送到服務器和原因(最終)上表現出一定的變化該頁面的內容。

如果你必須這樣做,自十年左右,有ajax

您將數據發送到服務器,並等待(asyncronously)其他輸出數據從服務器返回的,然後以編程更改應用到該頁面。

這爲用戶提供了一個更好的界面體驗,最終的結果是一致的。

現在你有一個「體面的」解決方案。我建議你考慮ajax(最終藉助jQuery庫),以便將來改進您正在使用的網站或將來的項目。

+0

謝謝保羅...這對我的testscript工作..現在我嘗試在我的頁面 – ratmalwer

+0

祝你好運。希望能幫助到你。 – Paolo

+0

嗨保羅 - 簡短的迴應:它在FF和克羅姆工作,但在IE11有點sh but,但我會忍受它... – ratmalwer