CSSStyleSheet: метод replace()
Базовая линия 2023
Новое
С марта 2023 года эта функция работает на последних устройствах и версиях браузеров. Возможно, эта функция не будет работать на старых устройствах или браузерах.
Метод replace() интерфейса CSSStyleSheet асинхронно заменяет содержимое стилей на содержимое, переданное в него. Метод возвращает промис, который разрешается с объектом CSSStyleSheet.
Методы replace() и CSSStyleSheet.replaceSync() могут быть использованы только для таблиц стилей, созданных с помощью конструктора CSSStyleSheet().
Синтаксис
replace(text)
Параметры
text-
Строка, содержащая правила стилей, которые заменят содержимое таблицы стилей. Если строка не содержит допустимый список правил, значение будет установлено в пустую строку.
Примечание: Если какие-либо правила, переданные в
text— это внешние таблицы стилей, импортированные с помощью правила@import, эти правила будут удалены, и предупреждение будет выведено в консоль.
Возвращаемое значение
Промис Promise, который разрешается с объектом CSSStyleSheet.
Исключения
-
NotAllowedErrorDOMException -
Выбрасывается, если выполняется одно из следующих условий:
- Таблица стилей не была создана с помощью конструктора
CSSStyleSheet(). - Таблица стилей помечена как неизменяемая.
- Таблица стилей не была создана с помощью конструктора
Примеры
В следующем примере создается новая таблица стилей и добавляются два правила CSS с помощью replace(). Первое правило затем выводится в консоль, которое вернет: body { font-size: 1.4em; }
const stylesheet = new CSSStyleSheet();
stylesheet
.replace("body { font-size: 1.4em; } p { color: red; }")
.then(() => {
console.log(stylesheet.cssRules[0].cssText);
})
.catch((err) => {
console.error("Failed to replace styles:", err);
});
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в IOS | Samsung Internet | WebView Android | |
replace |
73 | 79 | 101 | 60 | 16.4 | 73 | 101 | 52 | 16.4 | 11.0 | 73 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replace