include_once js
"include_once js", include_once javascript, что такое "include_once js"? Пример использования "include_once в javascript".
Подробно о include_once в js с примерами.
Пишем функцию include_once.
Это не первый вариант функции "include_once".
Но прошло время и предыдущая версия не очень-то элегантно выглядит... поэтому!
Давайте напишем функцию "include_once в js" заново!
Для создания функции include_once в js понадобится:
Нам нужно создать идентификатор(уникальный - ну например по названию файла), чтобы как-то идентифицировать подключаемый файл! Ваши предложения?
Уникальный идентификатор подключаемого файла в include_once.
Получим название файла из аргумента функции .
Разобьем в массив по слешу split.
Получим последний элемент массива - pop.:
Опять разобьем в массив, но только по точке... потому, что точка присутствует как минимум в расширении:
Теперь... полученный массив превратим в строку и все меж ячеечные пространства заменим на нижнее подчеркивание - join.:
Создадим пустой массив в window.
Проверим на отсутствие данной ячейки(уникального идетификатора)
Если условие сработало, то:
Создаем новый элемент "script" с помощью createElement с одноименной переменной.
С помощью setAttribute добавим атрибут "src" и поместим в него путь, указанный в атрибуте функции.
Добавим appendChild созданный элемент в конец тега "head"
Добавим наш уникальный id в массив "window{}"
Теперь вы можете перейти к готовому коду функции и тестированию:
Готовый код функции include_once
Ну и далее соберем весь код функции в одном месте:
Друзья! Пожалуйста уважайте чужой труд!
Friends! Please respect the work of others!
<script>
function include_once( path ) {
var id = ( path.split('/').pop() ).split('.').join('_');
window.id = {};
if ( !window[id] ) {
var script = document.createElement('script');
script.setAttribute('src', path );
document.head.appendChild( script );
window[id] = 1;
}
// author( автор ) : Aminev Marat https://jsphp.ru/
}
</script>
Пример использования include_once:
Если не знаете, как должна выглядеть страница с подключенной функцией "include_once", то вот вам пример на отдельной странице:
Проверяем работу include_once
Для того, чтобы проверить правильную работу include_once вам понадобится:
Физически создать 4 файла в двух папках.
Дважды повторяемые 2 файла с одинаковыми названиями.
И испытать include_once.
Для того, чтобы увидеть разницу... создадим два файла.
С неработающим "include_once".
И работающим include_once .
Подробное описание проверки работы include_once:
Создаем, как было сказано выше... 4 файла, в двух папках, с дважды повторяемыми названиями:
<script>include_once('путь/1/include_once.js');</script>
<script>include_once('путь/1/include_once_1.js');</script>
<script>include_once('путь/2/include_once.js');</script>
<script>include_once('путь/2/include_once_1.js');</script>
В каждый из файлов поместим alert.
alert('Это файл 1, папка 2 - include_once.js');
alert('Это файл 2, папка 1, include_once_1.js');
alert('
Это файл 3, папка 2 - include_once.js');
alert('Это файл 4 - папка 2 include_once_1.js');
Первый файл с неработающим include_once js:
В файле "index.html" - поместим "include_once" с выше перечисленными файлами,
Второй файл с работающим include_once js:
Далее... во второй файл поместим всё тоже самое, но только с правильно работающей функцией include_once( что там? ):
