JavaScript における URL オブジェクトの素晴らしい使い方

JavaScript における URL オブジェクトの素晴らしい使い方

序文

URLオブジェクトはページ側ではあまり使用されないかもしれません。一般的に、ページ側でのURLの操作のほとんどは、URLパラメータを解析することです。URLパラメータを解析するためのライブラリは数多くあります。たとえばqsや、ブラウザのネイティブURLSearchParamsなどです。

// 現在の URL が 'https://www.test.com?a=1&b=2' であると仮定します
const b = 新しい URLSearchParams(location.search);
const aParam = b.get('a'); // 1
const bParam = b.get('b'); // 2
const エントリ = [...b];
// [['a', '1'], ['b', '2']]
// qs.parse のようなオブジェクトを取得したい場合は、次のようにします。const params = Object.fromEntries(entries);
// {a: 'c'、b: '2'}

解析パラメータ

URLSearchParams を介してパラメータを解析することは、URL オブジェクトと密接に関連しているようには見えませんが、URL オブジェクトがインスタンス化された後に返されるオブジェクトを確認することができます。

const a = 新しい URL ('https://www.test.com?a=1&b=2');
// ハッシュ: ""
// ホスト: "www.test.com"
// ホスト名: "www.test.com"
// href: "https://www.test.com/?a=1b=2"
// オリジン: "https://www.test.com"
// パスワード: ""
// パス名: "/"
// ポート: ""
// プロトコル: "https:"
// 検索: "?a=1&b=2"
// 検索パラメータ: URLSearchParams {}
// ユーザー名: ""
// [[プロトタイプ]]: URL

返されたオブジェクトから、URL がインスタンス化された後、返された属性 searchParams は実際にはインスタンス化された URLSearchParams オブジェクトであることがわかります。 URLオブジェクトを介してパラメータを取得する別の方法があります。たとえば、上記の操作は次のように変更できます。

const a = 新しい URL ('https://www.test.com?a=1&b=2');
const エントリ = [...a.searchParmas];
const パラメータ = Object.fromEntries(エントリ);

// ブラウザ コンソールで、1 行 [...new URL(location.href).searchParams];

URLパラメータを変更する

パラメータを解析するために URL を使用する必要はありません。 URLSearchParams オブジェクトを使用すれば十分です。では、URL オブジェクトで他に何ができるでしょうか。実際には、URLSearchParams は設定や追加などの書き込み操作を提供すると考えられます。同時に、URL オブジェクトによって返されるプロパティを変更することもできます。URL 内のパラメータを変更して URL を変更したり、URL を生成したりすることはできますか。結局のところ、多くの場合、URL の変更は文字列操作にとどまり、これも危険であり、エラーが報告されやすいものです。

const a = 新しい URL ('https://www.test.com?a=1&b=2');
a.searchParams.set('a', '18');
a.searchParams.set('b', '14');
a.searchParams.set('c', 'テスト');
newURL = a.toString(); // https://www.test.com/?a=18&b=14&c=test
a.hash = 'ハッシュ';
newURL = a.toString(); // 'https://www.test.com/?a=18&b=14&c=test#hasha'
a.host = 'www.init.com';
newURL = a.toString(); // https://www.init.com/?a=18&b=14&c=test#hasha

要約する

URL オブジェクトは URL を操作するのに非常に便利です。単純なカプセル化により、多くのパッケージを節約できます。いくつかの回避策を使用すると、URL を逆に変更できます。このオブジェクトはブラウザでも使えますが、互換性の問題が出る可能性があります。デスクトップであれば安心して使えます(IE とは)。モバイル端末であれば、ポリフィルの設定が必要になるかもしれません。このオブジェクトはDenoでも使用できます

これで、JavaScript URL オブジェクトの素晴らしい使用法に関するこの記事は終了です。JavaScript URL オブジェクトの素晴らしい使用法に関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 異なるページ間のJavaScriptデータ転送(URLパラメータ取得)
  • Springboot で URL の後の jsessionid を削除する方法
  • vue.jsは画像のURLに従って画像をダウンロードします
  • JavaScript ライブラリ urlcat URL ビルダー ライブラリ

<<:  HTML 基本構造_Powernode Java アカデミー

>>:  DockerでRedashの中国語版をデプロイしてインストールする方法の詳細な説明

推薦する

Mysql varchar型の合計操作例

友人の中には、データベースについて学習しているときに、テーブル構造を作成するときに誤ってフィールドを...

純粋な CSS3 を使用して、円の動的な光る特殊効果アニメーションを実装するためのサンプル コード

この記事では、主に、円形のダイナミックな光る特殊効果アニメーションを実現するための純粋な CSS3 ...

docker compose を使用して fastDFS ファイル サーバーを構築する方法

前回の記事では、docker compose を使用して FastDfs ファイル サーバーをインス...

Linux での Docker と portainer の設定方法

1.Docer CEをインストールして使用するこの記事では、CentOS 7 を例に Docker ...

Linux システムによって報告される xfs_vm_releasepage 警告問題に対処する方法

問題の説明最近、いくつかのマシンで、一日のさまざまな時間に次の警告メッセージが表示されました。 3月...

Mysql の一般的なベンチマーク コマンドの概要

mysqlslap共通パラメータの説明–auto-generate-sql システムはテスト用のSQ...

Vite2+Vue3を使用してMarkdownドキュメントをレンダリングする練習

目次カスタム Vite プラグインvite-plugin-markdownの使用Front Matt...

W3C チュートリアル (12): W3C SOAP アクティビティ

Web サービスは、アプリケーション間の通信に関係しています。SOAP は、Web サービス間の X...

開発効率の向上に役立つ 56 個の実用的な JavaScript ツール関数

目次1. デジタルオペレーション(1)指定された範囲内で乱数を生成する2. 配列操作(1)配列の順序...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...

JavaScript 配列の詳細な概要

目次1. 配列誘導1. 文字列を配列に分割する2. コレクションとマップを新しい配列に変換する3. ...

レスポンシブWebデザイン学習(3) - モバイルデバイスでのWebページのパフォーマンスを向上させる方法

序文モバイル デバイスでは、帯域幅とプロセッサ速度の制限により、Web ページのパフォーマンスに対す...

MySQLの誤操作後にbinlog2sqlを使用して素早くロールバックする方法の詳細な説明

序文日常の仕事や勉強では、データベースを操作するときに「不注意」によるミスを犯すことは避けられません...

Vue エクスポート Excel 機能の全プロセス記録

目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...

Vue3 の emitting と attr の違いの分析

目次結論は実践分析拡張機能要約する結論は親コンポーネントでカスタム イベントが定義されている場合、子...