Останні коментарі

  1. Зрозуміло. Дякую за відповідь.

  2. На жаль не зможу з цим допомогти. Це не мій код 😊

  3. Дякую. Доволі цікаво викладений матеріал.

    Скажіть, будь-ласка, чи можна Вас просити допомогти з реалізацією методу Крамера (для випадку трьох рівнянь з трьома невідомими).

    Блок-схема міститься за посиланням: https://www.mathros.net.ua/rozvjazok-systemy-linijnyh-algebraichnyh-rivnjan-metodom-kramera.html👍

  4. Так і є, майже ніколи там нічого не запитував.

  5. Бінго. Нарешті я зміг пояснити

    Так, перша ваша версія запитання точно не сподобалася б користувачам stackoverflow і github. Припускаю що ви не часто щось запитували на подібних сайтах.

  6. Бінго. Нарешті я зміг пояснити 😃

    дивно, що показується лише частина контенту

    Тому я і вирішив що роблю щось не так. Думав що фронтендери давно розв'язали цю задачу і знають як правильно робити.

    Ще пошукаю в чому може бути причина.

  7. закрити браузер і після повторного відкриття браузера на цій вкладці замість повної сторінки буде лише частина html з контентом, який був повернутий останнім ajax запитом.

    Ага, ви мабуть маєте на увазі не просто відкриття браузера, а відновлення сесії раніше закритих сторінок (це можна зробити або в налаштуваннях браузерах, або після відкриття браузера натиснути Ctrl+Shift+T). В такому разі браузер справді не відправляє запит на бекенд, на скільки я пам'ятаю. Тільки дивно, що показується лише частина контенту. По-ідеї, повинна показуватись повністю та сторінка, яку ви закривали, навіть якщо бекенд не працює.

    Спробуйте пошукати щось за запитом restore last tabs chrome "http request".

  8. Не зовсім те, здається все ще не зрозуміло пояснив.

    На JS не потрібно додатково підтягувати сторінку, це реалізовано на бекенді. Якщо відкривати сторінку в браузері (без ajax), бекенд рендерить повністю всю сторінку яка запитується по вказаному URL. Якщо ж ми з JS робимо ajax запит, тоді бекенд замість повної сторінки повертає лише частину з контентом, який відповідно замінює блок зі старим контентом і міняє URL через pushState.

    Так реалізована вся навігація на DevZone. Ось такий результат приходить від бекенда на ajax запит

    В цей же блок я і додав js який оновлює сторінку якщо немає title, цей хак, в принципі, розв'язує проблему, але не зовсім гарно.

    Без ajax повертається повна сторінка

    І ця проблема виникає лише якщо відкрити сайт, далі перейти по посиланню яке завантажить іншу сторінку по ajax, закрити браузер і після повторного відкриття браузера на цій вкладці замість повної сторінки буде лише частина html з контентом, який був повернутий останнім ajax запитом.

  9. О, це вже значно краще. Тепер залишилось замінити текст у початковому запитанні. Я пішов туди відповідати.

  10. Сторінка виглядає приблизно таким чином

    <html>
        <body>
            <div>
                Блок який постійно залишаються на сторінці
                <a href="/path" class="ajax">отримати дані по ajax і записати в блок #content</a>
            </div>
            <div id="content">
                дані в цьому блоці замінюються ajax запитом
            </div>
            <div>
                Блок який постійно залишаються на сторінці
            </div>
        </body>
    </html>

    І JS код

    window.addListenter('click', '.ajax', ajaxLinkLoad);
    
    function ajaxLinkLoad(event, target) {
        var url = target.getAttribute('href');
    
        axios.get(url).then(function (response) {
            document.getElmentById('content').innerHTML = response.data;
            window.history.pushState(null, null, url);
        });
        event.preventDefault();
    }

    Він працює як потрібно, при кліці на посилання отримуються дані по ajax і записуються в блок #content, через pushState також змінюється URL.

    Але якщо закрити браузер, а потом відкрити, на сторінці буде лише частина html коду яка була в блоці #content

    Сподіваюся я зрозуміло пояснив.

    PS. В момент відкриття браузера запит на сервер не відсилається, я перевіряв. Це саме браузер так відновлює сторінку залишаючи на ній лише ту частину що була отримана в останньому запиті.

  11. Питання потрібно спростити і доповнити. Не чітко зрозуміло що є, і що повинно бути на сторінці.

  12. Цього я також, ще не зробив

    Оскільки ви помітили, то доведеться виправити 😄