一般に、私はこれを簡単かつ明確にしたいです。 同時に、合理的な妥協が必要です。 強力な機能を提供するいくつかのライブラリに会いましたが、同時にボリュームに関しては、数十キロバイトの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);
発見されたコメント、改善、バグ、フォーク、その他のコーシャのものは大歓迎です。