2015-04-21 42 views
0

如何將頁面上的任何特定鏈接重定向到特定的URL?如何將頁面上的任何特定鏈接重定向到特定的url?

我有一個網頁,它包含幾個鏈接。

  • link1.com(20個鏈接)
  • link2.com(15個鏈接)
  • link3.com(8個鏈接)

我想,只要有人點擊link1.com他得到重定向到www.example.com

請告訴我如何acheieve這一點。

通過下面的代碼,我可以爲屏幕上的當前頁面做重定向。但我需要爲我的網站上的每個鏈接做到這一點。

+0

Rajesh

+0

[如何通過使用Javascript或任何html?的另一個鏈接重定向每個網頁上的鏈接](http://stackoverflow.com/questions/29774574/how-to-redirect-each-link-on -the-webpage-through-another-link-using-javascript-o) – JoshWillik

+0

這是我的單獨問題。我也想知道這個決議。 – Rajesh

回答

1

以下是一些示例代碼。您可以編輯重定向變量以符合您的需求。重定向變量的索引是一個正則表達式,如果它匹配鏈接重定向。

選項1個

<a href="http://link1.com">link 1</a> 
<a href="http://link2.com/alsoredirected">link 2</a> 
<a href="http://wikipedia.org">not redirected</a> 

<script> 
var aTags = document.getElementsByTagName("a"); 
var redirects = { 
    "http://link1.com": "http://google.com", 
    "link2.com": "http://google.com" 
}; 

for(var i = 0;i < aTags.length; i++) { 
    aTags[i].addEventListener("click", function(event) { 
     var url = this.getAttribute("href"); 

     for (var redirect in redirects) { 
      var pattern = new RegExp(redirect); 

      if (pattern.test(url)) { 
       window.location = redirects[redirect]; 
       event.preventDefault(); 
      } 
     } 
    }); 
} 
</script> 

選項2

這是優選的解決方案,如果必要的,因爲它取代了href屬性。因此,您不必每次點擊都檢查重定向。

<a href="http://link1.com">link 1</a> 
<a href="http://link2.com/alsoredirected">link 2</a> 
<a href="http://wikipedia.org">not redirected</a> 

<script> 
var aTags = document.getElementsByTagName("a"); 
var redirects = { 
    "http://link1.com": "http://google.com", 
    "link2.com": "http://google.com" 
}; 

for(var i = 0;i < aTags.length; i++) { 
    var url = aTags[i].getAttribute("href"); 

    for (var redirect in redirects) { 
     var pattern = new RegExp(redirect); 

     if (pattern.test(url)) { 
      aTags[i].setAttribute("href", redirects[redirect]); 
     } 
    } 
} 
</script> 
+0

如何在link1中使用通配符。 – Rajesh

+0

我編輯了答案。您現在可以在重定向變量中輸入任何正則表達式作爲索引。如果正則表達式匹配,它將被重定向。 – maechler

+0

謝謝你...是的,它工作:) – Rajesh

相關問題