~$ 存档

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

做前端的,应该有不少人都写过操作URL的代码,比如提取问号后面的参数、或者主机名什么的,比如这样:

这类代码写多了也觉得很烦,如果有一个比较全面的解决方案就好了。

URI.js是一个全能的操作URL的库,可以方便地提取和编辑URL中的任意一部分,而且语法优雅。

它的主要功能包括:

  1. URI.js支持提取和修改URL中的:协议用户名密码主机名host端口port路径path文件名文件后缀、“?”后面的query(如?s=abc)、“#”后面的fragment(如#top)等 

  2. var url=new URI("http://jszai.com/foo?bar=baz");
    url.host();
    // => jszai.com
     
    url.addQuery("hello","jszai");
    // => http://jszai.com/foo?bar=baz&hello=jszai
     
    url.query(true);
    // => { foo: "bar", hello : "jszai" }

     

  3. 进行绝对路径和相对路径的计算
  4. 清理URL(标准化
  5. 比较URL
  6. 如果不喜欢新建对象的使用方式,它还提供了一系列的静态的工具函数

其他特性还有更多,总之,基本上就没有想不到的功能了,但强大也是有代价的,就是源文件比较大(源代码45KB),至于用不用,就只能自己权衡了。

posted on 2017-09-29 10:27  LuoTian  阅读(263)  评论(0)    收藏  举报