Задать вопрос
  • Что тут за CMS?

    xmoonlight
    @xmoonlight
    Vardex, не важно: это то, чего нет в открытом доступе!
  • Превратить дисплей ноута в монитор?

    xmoonlight
    @xmoonlight Автор вопроса
    wulfdog, ноут - ломать не нужно, но нужно дисплей/монитор ноута превратить в монитор ПК.
  • Превратить дисплей ноута в монитор?

    xmoonlight
    @xmoonlight Автор вопроса
    Вот этот ответ - трезв!
  • Превратить дисплей ноута в монитор?

    xmoonlight
    @xmoonlight Автор вопроса
    Армянское Радио, я же указал: СРАЗУ ПОСЛЕ ВКЛЮЧЕНИЯ!
  • Превратить дисплей ноута в монитор?

    xmoonlight
    @xmoonlight Автор вопроса
    Ноут - должен жить!)
  • Как защитить пользовательские файлы?

    xmoonlight
    @xmoonlight
    sim3x, просто: твой подход не подтверждается мат. логикой.
    Изыди со свои спамом! ;)
  • Как защитить пользовательские файлы?

    xmoonlight
    @xmoonlight
    sim3x,
    Любой xss (от того же админа) умножит на 0 все шифрование
    где логика между HTTPS и XSS ?!
  • Как защитить пользовательские файлы?

    xmoonlight
    @xmoonlight
    sim3x, не, ну если ты такой умный - предлагай варианты!
  • Как защитить пользовательские файлы?

    xmoonlight
    @xmoonlight
    Артем, Вынесите API на отдельный (можно даже внешний) сервер.
    В любом случае - исполняемый код API и приватный ключ - где-то должны храниться.
    (чудес - не бывает!)
  • Как защитить пользовательские файлы?

    xmoonlight
    @xmoonlight
    Артем, я уже ответил для текущей ситуации.
  • Как защитить пользовательские файлы?

    xmoonlight
    @xmoonlight
    Роман, существуют, но это не в рамках этого обсуждения.
  • Как вы развиваетесь и откуда черпаете информацию?

    xmoonlight
    @xmoonlight
    NovaVovikov, т.е. вопрос про организацию линков и статуса их прочтения - понятно.
    Есть САМЫЙ простой способ организации контента: отправить письмо самому себе, а в почтовом ящике настроить фильтры исходя из темы/текста сообщения. Пометки (цветовые флажки) - помогут в проставлении статуса конкретного материала.
    Плюсы очевидны: есть сортировка, поиск, статусы, метки, автофильтры, возможность прикрепить аттачи.
    Такой вариант подходит Вам?
  • Как вы развиваетесь и откуда черпаете информацию?

    xmoonlight
    @xmoonlight
    NovaVovikov,
    Есть информация, которая необходима в моменте, чтобы проанализировать и сделать выводы прямо сейчас.
    Пример приведите.
  • CMS или вообще конструктор?

    xmoonlight
    @xmoonlight
    alex-1917,
    как насчет кроссбраузерности? в частности, мобильные браузы и ие8
    вся информация на гите.
  • Как писать FrontEnd не "колхозно"?

    xmoonlight
    @xmoonlight
    mr-troll,

    Т.е. схема работы при загрузке библиотеки будет:
    1) выполнить includeHTML - какой есть
    2) по загрузке dom выполнить что осталось.

    При этом конечно надо поправить библиотеку так чтобы она поддерживала эти два вызова. Т.е. не загружала повторно menu.html например.
    Вот это - более, чем понятно! :)

    Что произойдёт. Браузер начнёт парсить dom, найдёт див. вставит. Найдёт твою библиотеку. Выполнит.
    Библиотека просканирует текущий dom, в document.body будет только один тег, див. Оно его там начнёт асинхронно грузить, в это время уже пойдёт дальнейшая работа с дом. Он загрузит #load_later, и начнёт условно подгружать другие ресурсы если есть, картинки там, видео и т.п.
    Вот тут, как я понимаю, и есть разрыв: неполный DOM при первом вызове!
    И моя библиотека и браузерный DOM-обходичик будут в режиме race condition, используя HTML-текст (для заполнения DOM), как общий входной пул.

    Может можно, чтобы не дёргать потом 2-й раз:
    1. Как-то следить за "курсором" браузерного обработчика по HTML-разметке во время его прохода при формировании DOM?
    2. Или попробовать обработать в своём скрипте (распарсить "вручную")
    HTML-разметку при первом вызове (избегая DOM)? Но не будет ли это медленнее?
    3. Или, после завершения обхода начального "дерева" (тех тегов, что уже обходчик браузера загрузил выше), проверить наступление события изменения DOM-структуры (если не дошли до события window.onload), и если DOM изменился - рекурсивно себя дёрнуть, чтобы не ждать window.onload ?

    Т.е. как-то надо понять, как самому лучше превратиться в обходчика разметки напару с браузером не ожидая и не мешая друг другу)
  • Как писать FrontEnd не "колхозно"?

    xmoonlight
    @xmoonlight
    mr-troll,
    При этом, ещё пункт про нужность двух запусков. Асинхронный скрипт может запуститься после domcontentloaded, а тут ты бац, и запустишь первый проход не зависимо от этого принудительно. =)
    От чего зависит: после он запустится или нет (от кода функции, от браузера "под капотом", или какой-то 3-й вариант ещё есть)?

    И что значит
    и запустишь первый проход не зависимо от этого принудительно.
    ? (если я буду напрямую грузить сверху по HTML-коду в ASYNC и без событий - то этого должно быть достаточно, как я понял...)

    Как я понял, если я гружу его выше всех в ASYNC-режиме, то этого достаточно, чтобы не грузить его дважды: вторично - в domcontentloaded. (или снова я упустил что-то?)
  • Как писать FrontEnd не "колхозно"?

    xmoonlight
    @xmoonlight
    mr-troll, идею понял!

    Начнёт грузить большой файл. Долго. Вероятнее всего уже на этом этапе отработает async скрипт, и должен, (по моей задумке) , запуститься первый раз. И собрать всё что он уже успел в доме найти. Например menu. Запустит асинхронную подгрузку и всё. Дальше браузер пойдёт параллельно обрабатывать стили, и потом грузить дальше весь остальной код в дом, включая #defer_load.
    Сейчас так и происходит: при обходе DOM-"дерева", как только встречается следующий ресурс, он даёт команду на загрузку, а саму загрузку файла - не ждёт и парсит "дерево" дальше, ищя следующий объект вложения и т.д. до завершения обхода всего "дерева" целиком. (но да: всё это происходит в секции window.onload)

    Как я понимаю:
    1. HTML-код верхнего уровня - загрузится полностью (до начала ренедринга DOM, т.е.
    Сперва весь html парсится в dom-content.
    )
    2. При первом ASYNC-вызове includeHTML.js (2-я строка в примере кода) функция будет рекурсивно грузить все ресурсы с 1-го уровня и вглубь до того момента, пока не обойдёт всё "дерево" зависимостей ПОЛНОСТЬЮ и ДО КОНЦА.
    3. Поскольку функция будет уже проинициализирована, то все сторонние скрипты смогут использовать её вызов в любой момент сразу же после загрузки includeHTML.js через ASYNC.

    Отсюда у меня возникает вопрос:
    Когда всё загрузит, наступит domcontentloaded, вот на него надо бы повесить уже второй повторный обработчик который пройдёт и начнёт асинхронно грузить то что скрипт не догрузил когда выполнился.
    Что значит фраза: "не догрузил, когда выполнился"?
    Скрипт же, вроде, как я понимаю, должен будет загрузить ВСЕ РЕСУРСЫ В ТЕГАХ и НЕ В ТЕГАХ в первом проходе обработчиком и достаточно ЛИШЬ ОДНОГО ВЫЗОВА в ASYNC для того, чтобы всё загрузить?.... (или я что-то упустил?!...)

    И ещё:
    1. Если я помещу загрузку (именно непосредственную вставку HTML в теги) ранее рендеринга блокирующих ресурсов, не будет ли это визуально видно как "битая" страница превращается в нормальную в режиме анимации?
    2. Кроме рендеринга HTML-кусков - есть ещё загрузка и js, и css, и здесь уже ВАЖЕН ПОРЯДОК загрузки (в зависимости от требований конкретного проекта)! Вот с ними как быть, если я добавлюсь в ASYNC? (т.е. как тут разрулить процесс загрузки корректно?...)
  • Как писать FrontEnd не "колхозно"?

    xmoonlight
    @xmoonlight
    mr-troll, Спасибо за отзыв! Сохранил, буду оптимизировать.
    Сохранять всю статику в локал-сторадж - думал, но решил, что или оффлай-приложение (т.е. всю статику храним на клиенте), или работаем в он-лайн: cache headers (управлять кешированием с сервера).
    Дабы сэкономить место на клиентском устройстве (не засорять) - ПОКА решил не прибегать к сохранению в локал-сторадж HTML/JS/CSS-файлов/кусков (т.к. в основном работа в он-лайне всегда ведётся).

    Только async вариант не асинхронный, т.к ждёт загрузки 1. самой библиотеки ,2.html страницы. Т.е когда ваш скрипт погружен как async, нужной функции, очевидно, не будет.
    Речь шла немного про другое. Когда рендерятся теги - там загрузка HTML-частей идёт параллельно (включая рекурсивную загрузку при вложенности: внутри одного HTML-куска тег загрузки дргуого HTML-куска и т.д.).

    Тру асинхронный вариант будет как раз через атрибуты тегов.
    Вот тут - не понял... Поясните.

    Для этого надо запускать не по window.onload,а по domcontentready, сам скрипт с async, и вообще сперва при загрузке скрипта запустить функцию, а потом и по загрузке дома. Будет прям очень быстро работать.
    Она стартует и сейчас сама автоматически сразу, после инициализации функции. Зачем её запускать ДО DOM'а, если он ещё не готов и делать этой функции нечего (может я в логике что-то упустил, подскажите)?