2012-09-10 98 views
-1

可能重複:
How to use JavaScript variable in an HTML link如何解決<base>標記?

的網站,我的工作有一個<base>標籤指向一個預先建立的網址。我想要做的就是通過使用下面的trueURL找到網頁的url,繞過<base>標籤。

我需要這個變量,因爲我想構建一些內部錨點,指向網頁的不同部分。

即時通訊存在的問題是,我不知道如何使用我存儲在我的trueURL變量中的url。是否有可能使用它,然後添加額外的擴展到網址,讓它指向我的錨點?

var trueURL = window.location.href; 

以下是我想獲得什麼:

<html> 

    <ol> 
     <li> 
      <a href= [trueURL] + "#link1">Link1</a> 
     </li> 

     <li> 
      <a href= [trueURL] + "#link2">Link2</a> 
     </li> 

     <li> 
      <a href= [trueURL] + "#link3">Link2</a> 
     </li> 
    </ol> 

    </html> 

所以在最後我想有鏈接1,例如,看起來像trueURL#鏈接1。

+0

你不能使用Link 2? – rationalboss

+0

我認爲這個問題是標籤...所以如果基本標籤設置爲wwww.example.com ...因爲這是一個相對鏈接,它將鏈接到wwww.example.com#link2 – JasonStoltz

+0

雖然我知道這不是你的決定,值得閱讀這個問題,它是理解'base'的行爲和怪癖的答案:[是否建議使用 html標記?](http://stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag) –

回答

0

我認爲這將有你要找的效果:

<html> 
<base href="http://www.example.com" target="_blank" /> 
<script type="text/javascript"> 
var trueUrl = document.location.href; 
</script> 
<ol> 
    <li> 
     <a href="#" onclick="window.location = trueUrl + '#link1'; return false">Link1</a> 
    </li> 
    <li> 
     <a href="#" onclick="window.location = trueUrl + '#link2'; return false">Link2</a> 
    </li> 
    <li> 
     <a href="#" onclick="window.location = trueUrl + '#link3'; return false">Link3</a> 
    </li> 
</ol> 
</html> 

然而,一個問題與通過JavaScript這樣做,是抓取工具無法跟蹤這些鏈接,所以你可能會採取搜索引擎優化。

理想的解決方案可能是提供絕對路徑服務器端,而不是使用JavaScript。

+1

請不要使用javascript:僞協議。您的代碼更好地添加不顯眼或作爲'' – mplungjan

相關問題