У меня есть функция, которая добавляет <link>
элементы к документу и возвращает Promise, который разрешается, когда загрузка таблиц стилей завершается link.onload
:
async function appendStyle(key: string, url: string): Promise<HTMLLinkElement> {
return new Promise<HTMLLinkElement>((resolve): void => {
const link: HTMLLinkElement = document.createElement("link");
const headElement: HTMLHeadElement = document.getElementsByTagName("head")[0];
link.onload = function (this: HTMLLinkElement): void {
resolve(this);
};
link.dataset[keyDataAttribute] = key;
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", url);
headElement.appendChild(link);
});
}
Можно ли имитировать выборку внешних таблиц стилей в браузеретесты (я использую Karma + Jasmine)?
fetch-mock
только издевается над глобальным window.fetch
, но браузер не использует их для получения ресурсов вроде.таблицы стилей, сценарий или изображения.