web-dev-qa-db-ja.com

JQueryでURLに文字列が含まれているかどうかを確認します

選択オプションのあるページがあり、JQueryを使用してページを更新し、オプションがクリックされたときにURLに文字列を追加しています。ここで、ブラウザーのURLをチェックして、上記の文字列が含まれているかどうかを確認する方法が必要です。

他のスレッドを見ると、indexOfが機能すると思っていましたが、これを試してみると機能しません。 URLに?added-to-cart=555などが含まれているかどうか、他にどのように確認しますか?通常、完全なURLはhttp://my-site.comのようになり、オプションの1つをクリックすると、ページのリロード後はhttp://my-site.com/?added-to-cart=555のようになります。 URLにその?added-to-cart=555ビットが含まれているかどうかを確認する必要があります。

ここに私が持っているものがあります:

jQuery("#landing-select option").click(function(){

 $('#product-form').submit();

    window.location.href += $(this).val()

});

jQuery(document).ready(function($) {
if(window.location.indexOf("?added-to-cart=555") >= 0)
            {
                 alert("found it");
            }
});
27
Derek

Window.location.hrefを使用して、javascriptのURLを取得します。これは、ブラウザの現在のURLの場所を通知するプロパティです。プロパティを別の値に設定すると、ページがリダイレクトされます。

if (window.location.href.indexOf("?added-to-cart=555") > -1) {
    alert("found it");
}
78
Sudharsan S

window.location は文字列ではなくオブジェクトなので、window.location.hrefを使用して実際の文字列urlを取得する必要があります

if (window.location.href.indexOf("?added-to-cart=555") >= 0) {
    alert("found it");
}
10
Arun P Johny

hrefindexofを使用します

<script type="text/javascript">
 $(document).ready(function () {
   if(window.location.href.indexOf("added-to-cart=555") > -1) {
   alert("your url contains the added-to-cart=555");
  }
});
</script>
3
Milind Anantwar
if(window.location.href.indexOf("?added-to-cart=555") >= 0)

window.location.hrefではなく、window.locationです。

3
danludwig