Javascript 仅在基本url上运行的JS函数

Javascript 仅在基本url上运行的JS函数,javascript,function,url,location,Javascript,Function,Url,Location,我正在开发一个网站,该网站在浏览器历史操作方面严重依赖javascript,并且只使用一个实际的页面文件。我希望脚本在用户访问站点的基本url时运行函数,但我不确定什么方法是合适的。我想我可以快速比较一下当前窗口的位置,但是如果用户输入的是www而不是http://,或者没有输入。有些事告诉我这应该很容易 if (window.location.href == 'http://mysite.com') { console.log('you hit the base url, yay');

我正在开发一个网站,该网站在浏览器历史操作方面严重依赖javascript,并且只使用一个实际的页面文件。我希望脚本在用户访问站点的基本url时运行函数,但我不确定什么方法是合适的。我想我可以快速比较一下当前窗口的位置,但是如果用户输入的是www而不是http://,或者没有输入。有些事告诉我这应该很容易

if (window.location.href == 'http://mysite.com') {
    console.log('you hit the base url, yay');
    myFunction();
}

,因此,如果用户在键入URL时忽略了该部分,则不会出现问题。

,因此,如果用户在键入URL时忽略了该部分,则不会出现问题。

听起来您希望隔离URL的路径部分

function isHomePage() {
    return window.location.pathname === '/' || window.location.pathname === '';
}
这应该涵盖你的基础,即使URL是

https://www2.example.com:443/#hash

听起来您想隔离URL的路径部分

function isHomePage() {
    return window.location.pathname === '/' || window.location.pathname === '';
}
这应该涵盖你的基础,即使URL是

https://www2.example.com:443/#hash

如果基本url表示没有路径组件或散列片段,则可以按如下方式检查:

if (window.location.pathname==='/' && window.location.hash==="") {
    console.log('you hit the base url, yay');
    myFunction();
}

如果基本url表示没有路径组件或散列片段,则可以按如下方式检查:

if (window.location.pathname==='/' && window.location.hash==="") {
    console.log('you hit the base url, yay');
    myFunction();
}

JavaScript可以部分访问当前URL。对于此URL:

请确保使用主机属性

if (window.location.host === 'mysite.com') {
    console.log('you hit the base url, yay');
    myFunction();
}

JavaScript可以部分访问当前URL。对于此URL:

请确保使用主机属性

if (window.location.host === 'mysite.com') {
    console.log('you hit the base url, yay');
    myFunction();
}

@ironchefpyhon这正是我想要的,但是我似乎无法让它工作。有什么想法吗?当然,只需在“基本url”和其他url上使用
console.log(window.location.pathname)
,您就知道要测试什么了。我去了google.com,在chrome开发者控制台中输入了
console.log(window.location.pathname==='/'))
,我得到了
true
。我想我尝试添加了你的示例的早期版本,通过包括你当前的编辑,我成功地让它工作。谢谢@ironchefpyhon这正是我想要的,但是我似乎无法让它工作。有什么想法吗?当然,只需在“基本url”和其他url上使用
console.log(window.location.pathname)
,您就知道要测试什么了。我去了google.com,在chrome开发者控制台中输入了
console.log(window.location.pathname==='/'))
,我得到了
true
。我想我尝试添加了你的示例的早期版本,通过包括你当前的编辑,我成功地让它工作。谢谢很好的函数,但因为我没有重用它,所以我只添加一个条件语句。谢谢你的帮助@Staffan我建议将其包装在函数中,这样下一个阅读代码的人就不必暂停并试图找出您的意图。函数很好,但由于我没有重用它,因此我只需添加一个条件语句即可。谢谢你的帮助@Staffan我建议将它包装在函数中,这样下一个阅读代码的人就不必停下来试图弄清楚您的意图是什么。