1

ブラウザの履歴操作をJavaScriptに大きく依存し、実際のページファイルを1つだけ使用するサイトを開発しています。ユーザーがサイトのベースURLにアクセスするたびにスクリプトで関数を実行したいのですが、どの方法が適切かわかりません。現在のウィンドウの場所を簡単に比較できると考えましたが、ユーザーがhttp://ではなくwwwと入力した場合、または入力しなかった場合はどうなりますか。これは本当に簡単なはずだと何かが教えてくれます。

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

4 に答える 4

4

URLのパス部分を分離したいようです。

function isHomePage() {
    return window.location.pathname === '/' || window.location.pathname === '';
}

URLが次のようなものであっても、それはあなたのベースをカバーするはずです

https://www2.example.com:443/#hash
于 2013-03-07T20:55:51.477 に答える
2

window.location.href常にプロトコルが含まれているため、ユーザーがURLを入力するときにプロトコルを省略しても問題はありません。

于 2013-03-07T20:52:17.820 に答える
1

ベースURLによって、パスコンポーネントまたはハッシュフラグメントがないことを意味する場合は、次のようにこれを確認できます。

if (window.location.pathname==='/' && window.location.hash==="") {
    console.log('you hit the base url, yay');
    myFunction();
}
于 2013-03-07T20:56:44.647 に答える
1

JavaScriptは部分的に現在のURLにアクセスできます。このURLの場合:

http://mysite.com/example/index.html

window.location.protocol = "http"
window.location.host = "mysite.com"
window.location.pathname = "example/index.html"

必ずホストプロパティを使用してください

if (window.location.host === 'mysite.com') {
    console.log('you hit the base url, yay');
    myFunction();
}
于 2013-03-07T20:57:06.920 に答える