パラメータのサイズや名前が不明なjQueryの例をたくさん見てきました。私のURLには1つの文字列しかありません。
http://example.com?sent=yes
検知したいのですが。
1.sent`が存在するか? 2.2. それは "yes" と同じですか?
ベストソリューションここです。
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
};
そして、URLを想定した場合のこの関数の使い方です。 http://dummy.com/?technology=jquery&blog=jquerybyexample`とします。
var tech = getUrlParameter('technology');
var blog = getUrlParameter('blog');
ご参考になれば幸いです。
<script type="text/javascript">
function getParameters() {
var searchString = window.location.search.substring(1),
params = searchString.split("&"),
hash = {};
if (searchString == "") return {};
for (var i = 0; i < params.length; i++) {
var val = params[i].split("=");
hash[unescape(val[0])] = unescape(val[1]);
}
return hash;
}
$(window).load(function() {
var param = getParameters();
if (typeof param.sent !== "undefined") {
// Do something.
}
});
</script>
この動作デモをお試しください
APIを使用しています。
inArray
: http://api.jquery.com/jQuery.inArray/これで解決ですね :)
コード)
var url = "http://myurl.com?sent=yes"
var pieces = url.split("?");
alert(pieces[1] + " ===== " + $.inArray("sent=yes", pieces));