diff --git a/assets/core/core.js b/assets/core/core.js index d0dcd27..887c57e 100644 --- a/assets/core/core.js +++ b/assets/core/core.js @@ -205,6 +205,13 @@ window.kit.service = window.kit.service || {}; var getModulePromise = (function () { + function getFileLoadNode(src) { + src = src.match(/^[^#?]*/)[0]; + return document.querySelector('script[src^="'+src+'"]') || + document.querySelector('link[href^="'+src+'"]') || + document.querySelector('meta[property="kit:file-load"][name="'+src+'"]'); + } + function loadScript(src, resolveCallback, rejectCallback) { src = String(src).split('?')[0]; if(typeof resolveCallback !== 'function'){ @@ -216,11 +223,10 @@ window.kit.service = window.kit.service || {}; }; } return new Promise(function(resolve, reject) { - var meta = document.querySelector('meta[name="'+src+'"]'); - var script = document.querySelector('script[src^="'+src+'"]'); - if (script || meta) { - global.config.debug && console.warn(`Скрип ${src} уже загружен`); - self.__ready(resolve, [script]); + var loadNode = getFileLoadNode(src); + if (loadNode) { + global.config.debug && console.warn(`Скрипт ${src} уже загружен`); + self.__ready(resolve, [loadNode]); } else { script = document.createElement('script'); script.src = '' + src + '?__pm' + (new Date()).getTime(); @@ -250,9 +256,8 @@ window.kit.service = window.kit.service || {}; list.forEach(function(item, i, arr){ syncPromise.then(function(){ var src = configModule.path + item; - var meta = document.querySelector('meta[name="'+src+'"]'); - var script = document.querySelector('script[src^="'+src+'"]'); - if(meta || script){ + var loadNode = getFileLoadNode(src); + if(loadNode){ self.__ready(resolve, [src, true]); } else { script = document.createElement('script'); @@ -267,13 +272,12 @@ window.kit.service = window.kit.service || {}; } function loadStyle(src) { return new Promise(function(resolve, reject) { - var meta = document.querySelector('meta[name="'+src+'"]'); - var link = document.querySelector('link[href^="'+src+'"]'); - if(link || meta) { - global.config.debug && console.warn(`Скрип ${src} уже загружен`); + var loadNode = getFileLoadNode(src); + if(loadNode) { + global.config.debug && console.warn(`Стиль ${src} уже загружен`); self.__ready(resolve, [src]); } else { - link = document.createElement('link'); + var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = src + '?__pm' + (new Date()).getTime(); diff --git a/templates/page/link.php b/templates/page/link.php new file mode 100644 index 0000000..a8a1623 --- /dev/null +++ b/templates/page/link.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/templates/page/meta.php b/templates/page/meta.php deleted file mode 100644 index 7d1c2f4..0000000 --- a/templates/page/meta.php +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/templates/page/metaName.php b/templates/page/metaName.php new file mode 100644 index 0000000..5b20861 --- /dev/null +++ b/templates/page/metaName.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/templates/page/metaProperty.php b/templates/page/metaProperty.php new file mode 100644 index 0000000..f7ec734 --- /dev/null +++ b/templates/page/metaProperty.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/templates/svg/shop/delivery.php b/templates/svg/shop/delivery.php new file mode 100644 index 0000000..5b7cfec --- /dev/null +++ b/templates/svg/shop/delivery.php @@ -0,0 +1,10 @@ + + + + + + + + + +