JavaScriptはどのように正確に現在のページURLのURL情報を取得しますか?
18613 ワード
WEB
開発では、常にJavaScript
を使って現在のページのURL
URL情報を取得しています.ここでは私の一部がURL
情報を取得するための小さなまとめです.次に、
URL
を例に挙げて、それぞれの構成部分を得る.http://i.cnblogs.com/EditPosts.aspx?opt=1
.1、
window.location.href
(URL
全体を文字列として設定または取得)var test = window.location.href;
alert(test);
戻り値:http://i.cnblogs.com/EditPosts.aspx?opt=1
2、window.location.protocol
(URL
のプロトコル部分を設定または取得する)var test = window.location.protocol;
alert(test);
戻り値:http:
3、window.location.host
(URL
のホスト部分を設定または取得する)var test = window.location.host;
alert(test);
戻り値:i.cnblogs.com
4、window.location.port
(URL
に関連するポート番号を設定または取得する)var test = window.location.port;
alert(test);
戻る:空の文字(デフォルトの80ポート(update
を使用すると:80を追加しても)、戻り値はデフォルトの80ではなく、空の文字です.5、
window.location.pathname
(URL
との経路部分を設定または取得する(ファイルアドレスである)var test = window.location.pathname;
alert(test);
戻り値:/EditPosts.aspx
6、window.location.search
(href
属性のうち、疑問符の後に付いている部分を設定または取得する)var test = window.location.search;
alert(test);
戻り値:?opt=1
PS:クエリ(パラメータ)部分を取得し、動的言語に値を割り当てる以外にも、静的ページを与え、JavaScript
を使用して信頼すべきパラメータ値を得ることができる.7、
window.location.hash
(href
属性の井戸番号#
の後のセグメントを設定または取得する)var test = window.location.hash;
alert(test);
戻り値: ( URL )
8、JavaScript
は、URL
のパラメータ値を取得する.(a)正則法
function getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
// :
alert(GetQueryString(" 1"));
alert(GetQueryString(" 2"));
alert(GetQueryString(" 3"));
(b)スプリット分割法function GetRequest() {
var url = location.search; // url "?"
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();<br>// var id=Request["id"];
// var 1, 2, 3, N;
// 1 = Request[' 1'];
// 2 = Request[' 2'];
// 3 = Request[' 3'];
// N = Request[' N'];
(c)指定取例えば、
url:http://i.cnblogs.com/?j=js
、パラメータj
の値を取得したいです.以下の関数で呼び出すことができます.function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); // url "?"
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
alert(GetQueryString("j"));
(d)単一パラメータの取得方法function GetRequest() {
var url = location.search; // url "?"
if (url.indexOf("?") != -1) { //
var str = url.substr(1); // 0 ?
strs = str.split("="); // ( & )
alert(strs[1]); // ( )
}
}
転載:https://www.cnblogs.com/zhabayi/p/6419938.html