1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ambit-object-defineproperty-ie

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Object.defineProperty Sham для IE

Object.defineProperty — имитация на основе VBScript для IE. Также предоставляет Object.defineProperties, Object.getOwnPropertyDescriptor, Object.getOwnPropertyDescriptors.

Примечание:

  1. В IE8 программа будет использовать собственные методы defineProperty или getOwnPropertyDescriptor для объектов Element, doucment и window.
  2. В других случаях defineProperty вернёт новый объект VB.
  3. Для объекта VB при изменении существующего дескриптора новый объект создаваться не будет.
  4. Объект VB не может свободно добавлять или удалять свойства.
  5. У объекта VB нет [[Prototype]] или proto.
  6. Имя свойства объекта VB не может содержать специальный символ ].
  7. Свойства объекта VB перечисляются, на них не влияет дескриптор enumerable.

Установка:

  1. Используйте NPM: npm install -S object-defineproperty-ie.
  2. Скачайте напрямую: Development Version версия для разработки, Production Version рабочая версия.

Использование:

<script src="path/to/object-defineproperty-ie.js" type="text/javascript"></script>
<script type="text/javascript">
    var temp;
    var obj = Object.defineProperties({}, {
        prop1: {
            enumerable: true,
            get: function () {
                return temp;
            },
            set: function (value) {
                temp = value;
            }
        },
        prop2: {
            enumerable: true,
            configurable: true,
            value: 'Hello World'
        }
    });
    obj.prop = 123;
    // obj => {
    //     prop1: 123,
    //     prop2: 'Hello World'
    // }

    Object.defineProperty(obj, 'prop2', {
        value: 'Ambit-Tsai'
    });
    // obj => {
    //     prop1: 123,
    //     prop2: 'Ambit-Tsai'
    // }

    var desc = Object.getOwnPropertyDescriptor(obj, 'prop2');
    // desc => {
    //     enumerable: true,
    //     configurable: true,
    //     writable: false,
    //     value: "Ambit-Tsai"
    // }
</script>

Тестирование:

  1. Посетите онлайн-страницу на GitHub по ссылке GitHub Page.
  2. Откройте локально файл docs/index.html.
  3. Протестировано в IE6, IE7, IE8.

Контакты:

  1. WeChat: ambit_tsai.
  2. QQ Group: 663286147.
  3. E-mail: ambit_tsai@qq.com.

Ссылка:

  1. Усилия мини-фреймворка MVVM Avalon по обеспечению совместимости со старыми версиями IE.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления (7)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ambit-object-defineproperty-ie.git
git@api.gitlife.ru:oschina-mirror/ambit-object-defineproperty-ie.git
oschina-mirror
ambit-object-defineproperty-ie
ambit-object-defineproperty-ie
master