如何";“安全地”;用JavaScript加载页面

如何";“安全地”;用JavaScript加载页面,javascript,jquery,url,Javascript,Jquery,Url,我想编写一个小函数,将URL作为参数,但在加载该URL之前,它会检查该URL是否已经在该页面上。如果是,则返回false,并且不发生任何事情;否则,它将加载指定的URL。我试过这样的方法: function load(url) { if(window.location.href === url) { return false; } else { window.location.href = url; } } 不幸的是,如果我的当前页面是,

我想编写一个小函数,将URL作为参数,但在加载该URL之前,它会检查该URL是否已经在该页面上。如果是,则返回
false
,并且不发生任何事情;否则,它将加载指定的URL。我试过这样的方法:

function load(url) {
    if(window.location.href === url) {
        return false;
    } else {
        window.location.href = url;
    }
}
不幸的是,如果我的当前页面是,那么,在调用
load('http://www.example.org/index.html“)
什么也不做,当我调用
load('index.html')
时,它会重新加载页面。如何添加额外的功能来捕获相对地址和绝对地址


编辑:我想使其动态化,这样我就可以在任何页面上使用它,而不知道其URL的基础。

这可能适合您:

function load(url) {
    if(window.location.href === url || window.location.href === 'http://www.example.org/' + url) {
        return false;
    } else {
        window.location.href = url;
    }
}
但是,如果不了解更多有关如何使用
加载
函数的信息,就很难知道这一点。

:

然后,检查变得简单:

function load(url) {
    if(window.location.href.endsWith(url)) {
        return false;
    } else {
        window.location.href = url;
    }
}

您可以使用以下方法之一从站点的位置获取站点的基本url:--然后将其与我的解决方案相结合
function load(url) {
    if(window.location.href.endsWith(url)) {
        return false;
    } else {
        window.location.href = url;
    }
}