ホームページ ウェブフロントエンド jsチュートリアル JavaScript_javascript スキルを使用して URL を処理するための 2 つの関数コード

JavaScript_javascript スキルを使用して URL を処理するための 2 つの関数コード

May 16, 2016 pm 07:10 PM
url 対処する

function request(paras){ //URL のパラメータ値を取得します。大文字と小文字は区別されません。そのようなパラメータがない場合は、空の文字列を返します。
var url = location.href
var paraString = url.substring; (url .indexOf("?") 1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i ){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") 1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];

if(typeof(returnValue)=="未定義"){
return ""}else{
return returnValue;
}
}
function redirect(){ //最初のパラメータは http://localhost/demo.asp?xxx=zzz などの現在の URL であり、2 番目以降のパラメータは次のとおりです。 xxx=yyy, mm=bbbbb の場合、最終的なジャンプ URL は http://localhost/demo.asp?xxx=yyy&aaa=bbb
if (arguments.length==1){
の場所になります。 href = 引数[0];
}else{
var paraObj = {};
if (arguments[0].indexOf("?")!=-1) 🎜>var curUrlParas = argument[0].substring(arguments[0].indexOf("?") 1,arguments[0].length).split("&");
for (i=0; j) =curUrlParas[i ]; i ){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") 1,j .length);
}
}
for (i=1; j=arguments[i]; i ){
paraObj[j.substring(0,j.indexOf("=") ).toLowerCase( )] = j.substring(j.indexOf("=") 1,j.length);
}
var newURL= ""
for (paraObj のキー); 🎜>newURL = key "=" paraObj[key] "&";
}
if (arguments[0].indexOf("?")!=-1){
newURL = argument[0 ].substring( 0,arguments[0].indexOf("?") 1) newURL.substring(0,newURL.length-1);
}else{
newURL = argument[0] "?" newURL.substring( 0,newURL.length-1);
}
location.href =
return;
}
}


function redirect if パラメータが 1 つの場合は単純なリダイレクトです。パラメータが 2 つ以上ある場合、この関数は redirect("http:/ /www.xxx.com/ list.asp?page=1","page=" parseInt(request("page")) 1)、次のような URL タイプの検索にも使用できます。 redirect("http: //www.xxx.com/search.asp","range="escape($("range").value),"keyword="escape($("keyword").value))、URL の操作シンプルになります。
リダイレクトの核心は、URL パラメーター テーブル (ハッシュ テーブル) を確立することであり、関数の 2 番目以降のパラメーターがハッシュ テーブルに追加され、最終的にテーブルが宛先 URL にシリアル化されます。

ログを投稿し終えてすぐに、もう少し改良して、リンク先の URL を新しいウィンドウで開くかどうかを決定するパラメーターを追加できないかと考えました。


/*
最初のパラメータは、http://localhost/demo.asp?xxx=zzz などの現在の URL です。
2 番目以降のパラメータは、 form xxx=yyy, mm=bbbbb
最終的なジャンプ URL は http://localhost/demo.asp?xxx=yyy&aaa=bbb
*/
function redirect(){
if (引数. length==0){
return;
}
if (arguments.length==1){
location.href = argument[0]
} else if(arguments.length==2){
(arguments[1]==true)?window.open(arguments[0]):location.href = argument[0]; > }else{
var paraObj = {};
if (arguments[0].indexOf("?")!=-1){
var curUrlParas = argument[0].substring(arguments[ 0 ].indexOf("?") 1,arguments[0].length).split("&");
for (i=0; j=curUrlParas[i]; i ){
paraObj[ j .substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") 1,j.length); > for (i=2; j=arguments[i]; i ){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf) ( "=") 1,j.length);
}
var newURL= "";
for (paraObj のキー){
newURL = key "=" paraObj[key] "& " ;
}
if (arguments[0].indexOf("?")!=-1){
newURL = argument[0].substring(0,arguments[0].indexOf(" ? ") 1) newURL.substring(0,newURL.length-1);
}else{
newURL = argument[0] "?" newURL.substring(0,newURL.length-1);
}
arguments[1]==true?window.open(newURL):location.href = newURL;
return;
}
}



昨日の退勤前に考えたことを元に、再度修正して最後に2番目のパラメータを入れてみます。

/*
使用年齢:
redirect(url,[paras_1],[paras_2],...,[paras_n],[newWin])
paras_n: URL パラメータ、フォームpage=1 や type=news など。
newWin: 関数の最後のパラメータ。ブール型。true の場合、新しいウィンドウ (window.open) を使用して URL を開きます。それ以外の場合、現在のウィンドウ (location.open) を使用して開きます。デフォルト値は false です。

例:
redirect("http://www.google.com/search","q=hello","start=20",true); //「hello」を検索します。 on google 」にアクセスして 3 ページ目を開き、新しいウィンドウで開きます。
redirect("http://www.xxx.com/listpage.asp","page=" parseInt(request("page")) 1); //ページめくり関数の「次のページ」。

*/
function redirect(){
if (arguments.length==0){
return;
}
if (arguments.length==1) {
location.href = argument[0];
return;
}else if(arguments.length==2 && typeof(arguments[1])=="boolean"){
( argument[1]==true)?window.open(arguments[0]):location.href = argument[0];
}else{
var paraObj = {}; >if (arguments[0].indexOf("?")!=-1){
var curUrlParas = argument[0].substring(arguments[0].indexOf("?") 1,arguments[0] .length).split("&");
for (i=0; j=curUrlParas[i]; i ){
paraObj[j.substring(0,j.indexOf("=")) .toLowerCase()] = j.substring(j.indexOf("=") 1,j.length);
}
}
var j = argument.length>for (i= 1; i if (typeof(arguments[i])=="boolean"){
break;
}
paraObj[arguments[i].substring(0,arguments[i].indexOf(") =")).toLowerCase()] = argument[i].substring(arguments[i].indexOf("=") 1,arguments[i].length);
}
var newURL= "" ;
for (paraObj のキー){
newURL = key "=" paraObj[key] "&";
}
if (arguments[0].indexOf("?")!= -1){
newURL = argument[0].substring(0,arguments[0].indexOf("?") 1) newURL.substring(0,newURL.length-1);
}else{
newURL = argument[0] "?" newURL.substring(0,newURL.length-1);
}
if(typeof(arguments[length-1])=="boolean" && 引数[長さ-1]==true){
window.open(newURL);
}else{
location.href = newURL;
}
}

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WIN10サービスホストの動作プロセスがCPUを過剰に占有している WIN10サービスホストの動作プロセスがCPUを過剰に占有している Mar 27, 2024 pm 02:41 PM

1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

e からの NameResolutionError(self.host, self, e) の理由とその解決方法 e からの NameResolutionError(self.host, self, e) の理由とその解決方法 Mar 01, 2024 pm 01:20 PM

エラーの理由は、urllib3 ライブラリの例外タイプである NameResolutionError(self.host,self,e)frome です。このエラーの理由は、DNS 解決が失敗したこと、つまり、ホスト名または IP アドレスが試みられたことです。解決できるものが見つかりません。これは、入力された URL アドレスが間違っているか、DNS サーバーが一時的に利用できないことが原因である可能性があります。このエラーを解決する方法 このエラーを解決するにはいくつかの方法があります。 入力された URL アドレスが正しいかどうかを確認し、アクセス可能であることを確認します。 DNS サーバーが利用可能であることを確認します。コマンド ラインで「ping」コマンドを使用してみてください。 DNS サーバーが利用可能かどうかをテストします。プロキシの背後にある場合は、ホスト名の代わりに IP アドレスを使用して Web サイトにアクセスしてみてください。

Excel データの Mysql へのインポートに関するよくある質問のまとめ: データのインポート時に発生したエラー ログの問題にどう対処するか? Excel データの Mysql へのインポートに関するよくある質問のまとめ: データのインポート時に発生したエラー ログの問題にどう対処するか? Sep 10, 2023 pm 02:21 PM

Excel データの Mysql へのインポートに関するよくある質問のまとめ: データのインポート時に発生したエラー ログの問題にどう対処するか? Excel データを MySQL データベースにインポートするのは一般的なタスクです。ただし、このプロセス中にさまざまなエラーや問題が発生することがよくあります。その 1 つはエラー ログの問題です。データをインポートしようとすると、システムは、発生したエラーに関する特定の情報をリストしたエラー ログを生成する場合があります。では、このような状況に遭遇した場合、エラーログにどのように対処すればよいのでしょうか?まず、その方法を知る必要があります

CSV ファイル操作のクイックガイド CSV ファイル操作のクイックガイド Dec 26, 2023 pm 02:23 PM

CSV 形式ファイルを開いて処理する方法を簡単に学習します。データ分析と処理の継続的な開発により、CSV 形式は広く使用されるファイル形式の 1 つになりました。 CSV ファイルは、さまざまなデータ フィールドがカンマで区切られた、シンプルで読みやすいテキスト ファイルです。学術研究、ビジネス分析、データ処理のいずれの場合でも、CSV ファイルを開いて処理する必要がある状況に頻繁に遭遇します。次のガイドでは、CSV 形式ファイルを開いて処理する方法をすぐに学ぶ方法を説明します。ステップ 1: CSV ファイル形式を理解する まず、

htmlとurlの違いは何ですか htmlとurlの違いは何ですか Mar 06, 2024 pm 03:06 PM

相違点: 1. 定義が異なります。URL はユニフォーム リソース ロケーターであり、HTML はハイパーテキスト マークアップ言語です。 2. HTML には多数の URL を含めることができますが、URL 内に存在できる HTML ページは 1 つだけです。 3. HTML は is を指します。 Web ページ、url は Web サイトのアドレスを指します。

PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 Mar 27, 2024 pm 12:39 PM

PHP 開発のプロセスでは、特殊文字の処理が一般的な問題になります。特に文字列処理では、特殊文字がエスケープされることがよくあります。その中でも、特殊文字を一重引用符に変換することは比較的一般的な要件です。これは、PHP では一重引用符が文字列をラップする一般的な方法であるためです。この記事では、PHP での特殊文字変換シングルクォーテーションの扱い方と具体的なコード例を説明します。 PHP では、特殊文字には一重引用符 (')、二重引用符 (")、バックスラッシュ () などが含まれますが、これらに限定されません。

PHP プロジェクトで API インターフェイスを呼び出してデータをクロールおよび処理するにはどうすればよいですか? PHP プロジェクトで API インターフェイスを呼び出してデータをクロールおよび処理するにはどうすればよいですか? Sep 05, 2023 am 08:41 AM

PHP プロジェクトで API インターフェイスを呼び出してデータをクロールおよび処理するにはどうすればよいですか? 1. はじめに PHP プロジェクトでは、多くの場合、他の Web サイトからデータをクロールし、これらのデータを処理する必要があります。多くの Web サイトでは API インターフェイスが提供されており、これらのインターフェイスを呼び出すことでデータを取得できます。この記事では、PHP を使用して API インターフェイスを呼び出し、データをクロールおよび処理する方法を紹介します。 2. API インターフェースの URL とパラメーターを取得する 開始する前に、ターゲット API インターフェースの URL と必要なパラメーターを取得する必要があります。

C# 開発で XML および JSON データ形式を処理する方法 C# 開発で XML および JSON データ形式を処理する方法 Oct 09, 2023 pm 06:15 PM

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。

See all articles