2011-05-12 85 views
15

我建立一個網站內部和頁面有一個canonical URL中指定外部頁面的URL的<head>設置規範的網址。獲得使用JavaScript

有沒有辦法使用JavaScript來獲得規範的網址?

+2

種類先生,請提供HTML示例,以便我們可以更好地幫助您。 – pixelbobby 2011-05-12 15:53:15

回答

15

像這樣的事情?

<!DOCTYPE html> 
<html> 
    <head> 
     <link href="http://www.example.com/" rel="canonical" /> 
     <title>Canonical</title> 
     <script type="text/javascript"> 
      window.onload = function() { 
       var canonical = ""; 
       var links = document.getElementsByTagName("link"); 
       for (var i = 0; i < links.length; i ++) { 
        if (links[i].getAttribute("rel") === "canonical") { 
         canonical = links[i].getAttribute("href") 
        } 
       } 
       alert(canonical); 
      }; 
     </script> 
    </head> 
    <body> 
     <h1>Canonical</h1> 
    </body> 
</html> 
+0

非常感謝! – Tereno 2011-05-17 18:32:30

38

那麼現在你可以簡單地使用:

document.querySelector("link[rel='canonical']").getAttribute("href"); 

以上answear會給你href屬性的真正價值。因此,如果您沒有完整的網址,它會向您顯示像/query.html這樣的href。

.href方法會給你總是充滿網址與域名就像http://example.com/query.html

document.querySelector("link[rel='canonical']").href; 
+0

True或jQuery。 :-) – 2013-06-06 11:43:01

+4

是的。但是,增加的jQuery 90KB得到的東西簡單就是不imvho :-) – 2013-06-07 18:15:10

+1

同意一個很好的選擇,但如果你已經決定使用jQuery無論如何,它爲那些選擇來得心應手爲好。 – 2013-06-07 19:53:14

16

jQuery的版本;

$("link[rel='canonical']").attr("href")