• URI.js 一个开源的URL处理类


    URI.js 是一个开源的URL处理类,可以根据提供的参数列表组装一个URL,轻松而不易出错,省去很多麻烦。

    我们经常使用一下方法组装一个URL:


    var url = "http://example.org/foo?bar=baz",
        separator = url.indexOf('?') > -1 ? '&' : '?';
    url += separator + encodeURIComponent("foo") + "=" + encodeURIComponent("bar");

    实在是繁琐至极,而且还比较容易出错,到现在仍然有人不相信,javascript竟然没有提供一个专门处理URL的API,URI.js

    API调用实例:
    // mutating URLs
    URI("http://example.org/foo.html?hello=world")
        .username("rodneyrehm")
            // -> http://rodneyrehm@example.org/foo.html?hello=world
        .username("")
            // -> http://example.org/foo.html?hello=world
        .directory("bar")
            // -> http://example.org/bar/foo.html?hello=world
        .suffix("xml")   
            // -> http://example.org/bar/foo.xml?hello=world
        .query("")      
            // -> http://example.org/bar/foo.xml
        .tld("com")     
            // -> http://example.com/bar/foo.xml
        .query({ foo: "bar", hello: ["world", "mars"] });
            // -> http://example.com/bar/foo.xml?foo=bar&hello=world&hello=mars

    // cleaning things up
    URI("?&foo=bar&&foo=bar&foo=baz&")
        .normalizeQuery();
            // -> ?foo=bar&foo=baz

    // working with relative paths
    URI("/foo/bar/baz.html")
        .relativeTo("/foo/bar/world.html");
            // -> ./baz.html

    URI("/foo/bar/baz.html")
        .relativeTo("/foo/bar/sub/world.html")
            // -> ../baz.html
        .absoluteTo("/foo/bar/sub/world.html");
            // -> /foo/bar/baz.html

    点击次数   官方主页【官方主页】   下载地址【下载地址】

    网友留言/评论

    我要留言/评论

    相关开源项目