2011-05-12 34 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")