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中可以查看运行结果

Package Sidebar

Install

npm i isomorphic-urlencode

Repository

suo.im/adkjd

Weekly Downloads

3

Version

0.0.9

License

ISC

Last publish

Collaborators

  • wxyyxc1992