Публикации по теме 'polyfill'
Использование Babel и Polyfills для сред на основе jQuery или не-ES6
Скажем, вы пришли из фона, связанного с фреймворком JavaScript, например. Angular, Vue или React и вы хотите поработать или добавить какую-либо функцию в свое устаревшее веб-приложение, например ваш статический HTML-сайт для маркетинговых целей, поэтому я почти уверен, что вы не использовали много синтаксиса, связанного с ES5 или ECMAScript 2009.
Все эти фреймворки не поддерживают кроссбраузерную совместимость для новых версий JavaScript, поэтому в любом случае потребуется какая-то..
Напишите свой опросник Call, Apply, Bind без помощи es6
Функция карты: -
Array.prototype.myMap = function (callback) {
const newArray = [];
for(const item of this) {
newArray.push(callback(item));
}
return newArray;
};
Функция вызова: -
Function.prototype.myCall = function(obj) {
obj = obj || global;
var id = "00" + Math.random();
while (obj.hasOwnProperty(id)) {
id = "00" + Math.random();
}
obj[id] = this;
let arg=[];
for(let i=1;i<arguments.length;i++){
arg.push("arguments[" + i + "]");
}..
Ленивая загрузка полифиллов с помощью WebPack и динамического импорта
Мы все любим ES6, и с Babel мы можем использовать новейший синтаксис в браузерах, которые его еще не поддерживают. Однако в некоторых браузерах отсутствует поддержка не только новейшего синтаксиса, но и некоторых новых функций, которые Babel не может добавить простым преобразованием кода.
Хорошим примером такой функции является асинхронный fetch , который недоступен, например, в IE 11.
В таких ситуациях нам нужно импортировать библиотеку, которая добавит недостающую функцию..
Восстановление среды javascript
Скорее всего, вы слышали и использовали полифиллы . Код, добавленный в среду выполнения, который переопределяет или расширяет собственное поведение. Полифилы используют возможность изменять хост и нативные объекты в среде javascript. Но что, если мы в какой-то момент захотим восстановить нативную функциональность?
Пример кода, переопределяющего нативную функцию:
(function () {
const e = window.eval
window.eval = (...args) => {
console.log(...args)
e(...args)
}
})()..
Поддержка старых браузеров - Часть 3: JavaScript
Обеспечить поддержку JavaScript для старых браузеров несложно. В большинстве случаев вам просто нужно использовать полифилл.
Но вы можете сделать еще кое-что.
Предыдущие статьи в этой серии
1. Часть 1: Поддержка старых браузеров 2. Часть 2: Поддержка старых браузеров - Часть 2: CSS 3. Часть 3: Эта статья
Что такое полифилл?
Polyfill - это фрагмент кода, который сообщает браузерам, как реализовать функцию JavaScript. После добавления полифила вам больше не нужно..
Дифференциальное обслуживание и служба полифиллов: как лучше обслуживать современные и устаревшие браузеры
Большинство людей сегодня используют современные браузеры, но у нас все еще есть небольшой, но важный процент трафика из устаревших браузеров, таких как Internet Explorer.
Современные браузеры могут делать две вещи, а устаревшие - нет. Во-первых, современные браузеры поддерживают множество новых синтаксисов, предлагаемых в ES2015 +, таких как модуль ES import , стрелочная функция, деструктуризация объектов и т. Д. Для устаревших браузеров этот новый синтаксис должен быть перенесен в..