UNPKG

legacy-es6-proxy-polyfill

Version:

Proxy polyfill based on ES3 supports IE8, Node.js, etc.

64 lines (45 loc) 1.72 kB
简体中文 | [English](https://github.com/ambit-tsai/es6-proxy-polyfill#readme) # ES6 Proxy Polyfill&nbsp;&nbsp;![Version](https://img.shields.io/npm/v/es6-proxy-polyfill.svg) 一个 ES6 `Proxy` 的兼容库,支持 **IE6+** 和 Node.js 等。 迄今为止,它支持比 GoogleChrome <a href="https://github.com/GoogleChrome/proxy-polyfill" target="_blank">proxy-polyfill</a> 更多的特性。 该 polyfill 只支持有限的 'trap' 代理: * get * set * apply * construct `Proxy.revocable` 方法也被支持,但只限于调用上面的 'trap' 。 #### 安装 ```javascript npm i -S es6-proxy-polyfill ``` #### 用法 1. 浏览器: ```html <!--[if lte IE 8]> <script src="path/to/object-defineproperty-ie.js" type="text/javascript"></script> <![endif]--> <script src="path/to/es6-proxy-polyfill.js" type="text/javascript"></script> <script type="text/javascript"> var proxy = new Proxy({}, {}); </script> ``` 2. Node.js: ```javascript var Proxy = require('es6-proxy-polyfill'); var proxy = new Proxy({}, {}); ``` #### 注意 1. 对于**非数组**对象,想要代理的属性**必须在创建时就已存在**; 1. 在 IE8 及以下,它依赖于 "<a href="https://github.com/ambit-tsai/object-defineproperty-ie" target="_blank">object-defineproperty-ie</a>" 库提供的 `Object.defineProperties` 与 `Object.getOwnPropertyDescriptor`; 1. Trap 的支持情况: ||对象|函数|数组| |:-:|:-:|:-:|:-:| |>=IE9|get, set|get, set, apply, construct|get, set| |<=IE8|get, set|apply, construct|-| #### 测试 1. 使用浏览器访问 `test/browser/index.html` 1. 已在 IE6-8、IE11 中进行测试 #### 联系 1. 微信: ambit_tsai 1. QQ群: 663286147 1. 邮箱: ambit_tsai@qq.com