JSでアドレスバーパラメーターを取得するには2つの方法があります。1つ目は、正規表現を使用してアドレスバーパラメーターを取得することです。2つ目は比較的伝統的な方法です。ここでは、編集者は、便利で実用的な最初の方法の使用を強く推奨しています。特定の実装プロセスについては、以下の詳細をご覧ください。
方法1:正規表現を使用してアドレスバーパラメーターを取得します:(強くお勧めします、実用的で便利です!)
関数getQueryString(name){var reg = new regexp( "(^|&)" + name + "=([^&]*)(&| $)"); var r = window.location.search.substr(1).match(reg); if(r!= null)return unscape(r [2]); nullを返します;}//メソッドを呼び出します
アラート(getquerystring( "パラメーター名1"));
アラート(getquerystring( "パラメーター名2"));
アラート(getquerystring( "パラメーター名3"));
これが例です:
アドレスバーのURLが次の場合:abc.html?id = 123&url = http://www.maidq.com
次に、上記の方法を使用して次のように呼び出します。
ダイアログボックスがポップアップします:コンテンツはhttp://www.maidq.comです
使用する場合:alert(getquerystring( "id"));その後、ポップアップコンテンツは123になります。
もちろん、たとえばパラメーターを渡さない場合、アドレスがabc.htmlであり、その後パラメーターがない場合、出力コール結果が強制的にエラーを報告する場合があります。
したがって、要求するパラメーターが空であるかどうかを判断するために判断を追加し、最初に変数に値を割り当てる必要があります。
var myurl = getQueryString( "url"); if(myurl!= null && myurl.tostring()。length> 1){alert(getquerystring( "url"));}これにより、エラーは報告されません!
方法2:従来の方法
<script type = "text/javascript"> function urlsearch(){var name、value; var str = location.href; //アドレス全体を取得するvar var num = str.indexof( "?")str = str.substr(num+1); //すべてのパラメーターを取得するstringvar.substr(start [、length] var arr = str.split( "&"); //各パラメーターをArrayに(var i = 0; i <arr.length; i ++){num = arr [i] .indexof( "="); if(num> 0){ name = arr [i] .substring(0、num); value = arr [i] .substr(num+1); this [name] = value;}} var request = new urlsearch();たとえば、このコードを1.htmlとして保存します
次に、1.html?id = testにアクセスします
この時点で、テスト値が取得されます
HTMLで呼び出されました
<script type = "text/javascript"> var a = "http://baidu.com"; </script> </head> <body> <a id = "a1" href = ""> sadfsdfas </a> <script> a1 = document.getelementbyid( "a1"); a = "http://xxx.com/gg.htm?cctv"; var s = a.indexof( "?"); var t = a.substring(s+1); // tは</script>の後に来るものです
stringvar.substr(start [、length]
指定された位置から開始される指定された長さのサブストリングを返します。
stringvar
必要なオプション。サブストリングを抽出する文字列または文字列オブジェクト。
始める
必要なオプション。必要なサブストリングの開始位置。文字列内の最初の文字のインデックスは0です。
長さ
オプション。返されたサブストリングに含まれるべき文字の数。
長さが0または負の場合、空の文字列が返されます。このパラメーターが指定されていない場合、サブストリングはStringVarの終わりまで続きます。
ここにいくつかの関連パラメーターがあります:
str.tolowercase()は小文字に変換します
str.touppercase()すべての文字列は大文字に変換されます
URLは:ユニフォームリソースロケーター(URL)
完全なURLはこれらの部分で構成されています。
スキーム://ホスト:ポート/パス?クエリ#フラグメント
スキーム:通信プロトコル
一般的に使用されるHTTP、FTP、Maitoなど。
ホスト:ホスト
サーバー(コンピューター)ドメイン名システム(DNS)ホスト名またはIPアドレス。
ポート:ポート番号
整数、オプション、省略すると、HTTPのデフォルトポートなど、スキームのデフォルトポートが使用されます。
パス:パス
ゼロまたは複数の "/"シンボルで区切られた文字列は、通常、ホストのディレクトリまたはファイルアドレスを表すために使用されます。
クエリ:クエリ
オプションで、パラメーターを動的なWebページ(CGI、ISAPI、PHP/JSP/ASP/ASP.NET、その他のテクノロジーを使用して作成したWebページなど)にパラメーターを渡すために使用されます。 「&」シンボルで区切られた複数のパラメーターがあり、各パラメーターの名前と値は「=」シンボルで区切られます。
フラグメント:情報フラグメント
ネットワークリソース内のフラグメントを指定する文字列。たとえば、Webページには複数の名詞の説明があり、フラグメントを使用して特定の用語の説明を直接見つけることができます。 (アンカーポイントとも呼ばれます。)
そのようなURLの場合
http://www.maidq.com/index.html?ver=1.0&id=6#imhere
JavaScriptでそのさまざまな部分を入手できます
1、window.location.href
URL文字列全体(ブラウザの完全なアドレスバー)
この例の返品値:http://www.maidq.com/index.html?ver=1.0&id=6#imhere
2、window.location.protocol
URLのプロトコル部分
この例は値を返します:http:
3、window.location.host
URLのホスト部分
この例の返品値:www.maidq.com
4、window.location.port
URLのポート部分
デフォルトの80ポートが使用されている場合(更新:80が追加されている場合)、返品値はデフォルト80ではなく空の文字です
この例は値を返します:「」
5、window.location.pathname
URLのパス部分(それはファイルアドレスです)
この例では、値:/fisker/post/0703/window.location.htmlを返します
6、window.location.search
クエリ(パラメーター)パーツ
動的言語に値を割り当てることに加えて、静的ページを提供し、JavaScriptを使用して、そうであると考えられているパラメーターの値を取得することもできます。
この例の返品値:?ver = 1.0&id = 6
7、window.location.hash
アンカーポイント
この例の返品値:#imhere
上記は、編集者によって導入されたアドレスバーパラメーターを取得するためのJSの2つの方法(シンプルで実用的)の完全な説明です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!