選択オプションのあるページがあり、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");
}
});
Window.location.hrefを使用して、javascriptのURLを取得します。これは、ブラウザの現在のURLの場所を通知するプロパティです。プロパティを別の値に設定すると、ページがリダイレクトされます。
if (window.location.href.indexOf("?added-to-cart=555") > -1) {
alert("found it");
}
window.location は文字列ではなくオブジェクトなので、window.location.hrefを使用して実際の文字列urlを取得する必要があります
if (window.location.href.indexOf("?added-to-cart=555") >= 0) {
alert("found it");
}
href
でindexof
を使用します
<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>
if(window.location.href.indexOf("?added-to-cart=555") >= 0)
window.location.href
ではなく、window.location
です。