Есть два файла (index.php и list.php) с одинаковой разметкой (я пока не придумал, как сделать все в одном файле, поэтому пока так - два файла с одинаковой разметкой). С одного файла на другой и обратно можно переключиться по ссылке:
<a href="http//…<? echo ($_SERVER['SCRIPT_NAME'] == '/index.php') ? '/list.php' : '/index.php'; ?>">
Оба этих файла используются для обработки txt-файлов с одной небольшой разницей. В list.php можно файлы подгрузить и обработать разом. В index.php только так: открыть txt, скопировать содержимое, вставить в textarea и получить результат.
В разметке имеется div.left-bar. В index.php в div.left-bar находятся настройки обработки вставленного текста. В list.php в .left-bar генерируется список файлов, которые лежат на сервере (каждую секунду .left-bar в list.php обновляется, чтобы оперативно видеть какие файлы есть).
В footer.php уже подгружен script.js (script.js единственный js-файл, обновляет .left-bar каждую секунду в list.php, он же реагирует на событие oninput в index.php – вставить текст и получить результат). Сам же footer.php вставлен в оба файла (index.php и list.php) путем require_once(‘footer.php’).
В общем, проблема в том, что когда я захожу в index.php, я вижу настройки ровно 1 секунду. Потом начинаю видеть только список файлов. Что, впрочем, не мудрено ведь в js записано const leftBar = document.querySelector('.left-bar'); и эта const leftBar в подгружена в обоих файлах. Только в index.php там статически указаны всякие input[type=checkbox] и т.п, которые затираются.
Как правильно сделать, чтобы в index.php я видел настройки, а в list.php список файлов, и чтобы разметка была одна и та же? Или укажите мне, в чем мой замысел в корне не верен? Спасибо!
const leftBar = document.querySelector('.left-bar');
if (leftBar.classList.contains("static")) {
// не перегружать содержимое
}
// или
const leftBar = document.querySelector('.left-bar');
if (leftBar.querySelector("input[type='checkbox']")) {
// не перегружать содержимое
}
Продвижение своими сайтами как стратегия роста и независимости