Fix Sprite issue
This commit is contained in:
		@ -151,24 +151,23 @@ const utils = {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        const prefix = 'cache-';
 | 
			
		||||
        const prefix = 'cache';
 | 
			
		||||
        const hasId = utils.is.string(id);
 | 
			
		||||
        let isCached = false;
 | 
			
		||||
 | 
			
		||||
        const exists = () => document.querySelectorAll(`#${id}`).length;
 | 
			
		||||
        const exists = () => document.getElementById(id) !== null;
 | 
			
		||||
 | 
			
		||||
        const update = (container, data) => {
 | 
			
		||||
            container.innerHTML = data;
 | 
			
		||||
 | 
			
		||||
        function injectSprite(data) {
 | 
			
		||||
            // Check again incase of race condition
 | 
			
		||||
            if (hasId && exists()) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Inject content
 | 
			
		||||
            this.innerHTML = data;
 | 
			
		||||
 | 
			
		||||
            // Inject the SVG to the body
 | 
			
		||||
            document.body.insertBefore(this, document.body.childNodes[0]);
 | 
			
		||||
        }
 | 
			
		||||
            document.body.insertAdjacentElement('afterbegin', container);
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        // Only load once if ID set
 | 
			
		||||
        if (!hasId || !exists()) {
 | 
			
		||||
@ -184,13 +183,12 @@ const utils = {
 | 
			
		||||
 | 
			
		||||
            // Check in cache
 | 
			
		||||
            if (useStorage) {
 | 
			
		||||
                const cached = window.localStorage.getItem(prefix + id);
 | 
			
		||||
                const cached = window.localStorage.getItem(`${prefix}-${id}`);
 | 
			
		||||
                isCached = cached !== null;
 | 
			
		||||
 | 
			
		||||
                if (isCached) {
 | 
			
		||||
                    const data = JSON.parse(cached);
 | 
			
		||||
                    injectSprite.call(container, data.content);
 | 
			
		||||
                    return;
 | 
			
		||||
                    update(container, data.content);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -204,14 +202,14 @@ const utils = {
 | 
			
		||||
 | 
			
		||||
                    if (useStorage) {
 | 
			
		||||
                        window.localStorage.setItem(
 | 
			
		||||
                            prefix + id,
 | 
			
		||||
                            `${prefix}-${id}`,
 | 
			
		||||
                            JSON.stringify({
 | 
			
		||||
                                content: result,
 | 
			
		||||
                            }),
 | 
			
		||||
                        );
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    injectSprite.call(container, result);
 | 
			
		||||
                    update(container, result);
 | 
			
		||||
                })
 | 
			
		||||
                .catch(() => {});
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user