Wondering what’s next for npm?Check out our public roadmap! »

    isomorphic-urlencode

    0.0.9 • Public • Published

    Isomorphic Urlencode

    Here is English Version For README

    核心的出发点为

    • 对于浏览器中版本使用纯粹的前端代码实现GBK编码
    • 保证能够在Node与Browser环境下实现无缝对切

    Usage

    Node版本使用了 node-urlencode,基本的接口风格类似于它,不过考虑到浏览器版本是异步返回,因此统一使用了Promise作为异步返回对象:

    use npm to install:

    npm install --save isomorphic-urlencode
    

    如果你是在浏览器环境中使用,请在HTML文件头部添加:

    if (parent._urlEncode_iframe_callback) {
    
        parent._urlEncode_iframe_callback(location.search.split('=')[1]);
    
        //直接关闭当前子窗口
        window.close();
    }
    

    注意,上面一段代码是将自身作为iframe的加载地址,因此务必放在HTML文件首部。然后在JS代码中使用:

    var urlencode = require("isomorphic-urlencode");
    
    urlencode("王下邀月熊").then(function (data) {
      console.log(data);
    
      //测试解码
      urlencode.decode(data).then(function (data) {
        console.log(data);
      })
    });
    
    urlencode("王下邀月熊", "gbk").then(function (data) {
      console.log(data);
    
      //测试解码
      urlencode.decode(data, "gbk").then(function (data) {
        console.log(data);
      })
    });
    
    

    浏览器版本主要基于iframe与form实现,详细原理参考这篇博客

    Test

    使用node node-urlencode.test.js来测试Node环境下转码。 使用webpack demo/demo.js demo/demo.dist.js,然后在浏览器中打开demo.html,在Console中可以查看运行结果

    Install

    npm i isomorphic-urlencode

    DownloadsWeekly Downloads

    25

    Version

    0.0.9

    License

    ISC

    Repository

    Gitsuo.im/adkjd

    Last publish

    Collaborators

    • avatar