使用JavaScript获取规范url

使用JavaScript获取规范url,javascript,url,Javascript,Url,我正在内部构建一个网站,该页面在中设置了一个URL,从外部指定该页面的URL 有没有办法使用JavaScript来获取规范URL 像这样的 <!DOCTYPE html> <html> <head> <link href="http://www.example.com/" rel="canonical" /> <title>Canonical</title> <s

我正在内部构建一个网站,该页面在
中设置了一个URL,从外部指定该页面的URL

有没有办法使用JavaScript来获取规范URL

像这样的

<!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>

典型的
window.onload=函数(){
var canonical=“”;
var links=document.getElementsByTagName(“链接”);
对于(变量i=0;i
如今,您只需使用:

document.querySelector("link[rel='canonical']").getAttribute("href");
上述answear将为您提供href属性的真实值。因此,如果您没有完整的URL,它将显示href like
/query.html

但是
.href
方法将为您提供像
http://example.com/query.html

document.querySelector("link[rel='canonical']").href;
jquery版本

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

好心的先生,请提供一个HTML示例,这样我们可以更好地帮助您。但添加90kB的jquery以获得如此简单的内容并不是一个好的选择(imvho:-)同意,但如果一个人决定无论如何使用jquery,那么这些选择器也会很方便。我更新了答案,并解释了
.href
方法的不同之处。