JavaScriptでのURLの操作

年々、私は同じ問題に直面しています。 文字列形式で特定のアドレスにパラメーターを追加、変更、または削除する方法。 これは、たとえば正規表現の助けを借りたり、既製のソリューションを見つけたりすることで、迅速に実行できます。 多くの場合、たとえば、アドレスのパスを変更したり、プロトコルをHTTPからHTTPSに変更したりする必要がある場合もあります。



一般に、私はこれを簡単かつ明確にしたいです。 同時に、合理的な妥協が必要です。 強力な機能を提供するいくつかのライブラリに会いましたが、同時にボリュームに関しては、数十キロバイトのJavaScriptコードです。 たとえば、QueryStringのパラメーターを置き換えるために、数十キロバイトですか? ああ...





一般に、私は自分自身の決定を書きました。 この決定は、JavaScriptでのQueryStringの解析に関する仲間のJan Wolterによって得られた経験にも基づいています (注意-英語)。 コードの量は少なくともわずかに増加しましたが、いくつかの問題からあなたを救うことができます。



したがって、私のソリューションはここから取得できます-github.com/Mikhus/jsurl ライセンスはMITなので、好きなことをしてください。 縮小およびgzip圧縮されたコードは1キロバイト未満であることが判明しましたが、これは許容範囲内です。 他のライブラリへの依存関係は観察されません。 APIは単純です。まず、アドレスを持つ文字列をUrlオブジェクトに変換してから、状況に応じて、文字列またはオブジェクトとして扱います。 たとえば、次のように:



var u = new Url('http://user:pass@example.com:8080/some/path?foo=bar#anchor'); //  :       -      // ,    : alert( ' URL: ' + u); //   -: u.hash = 'new-anchor'; //        u.protocol = 'https'; //   u.pass = ''; //   u.query.foo = 'baz'; //    foo  QueryString u.query.bar = [1,2,3]; //    bar  QueryString   1, 2  3, .. bar=1&bar=2&bar=3 // ,  : alert( ' URL: ' + u);
      
      







発見されたコメント、改善、バグ、フォーク、その他のコーシャのものは大歓迎です。



All Articles