![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
inohodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Всем привет
Нужно динамически менять подключаемый js и css файлы. Т.е. у меня на страничке есть возможность переключить язык с RTL to LTR и обратно И вот я в начале файла проверяю определенный флаг и на основании этого выбираю нужный js/css Делаю я это таким образом:
Это работает, но есть проблема, html загружается быстрее чем js/css. Поэтому вначале на долю секунды показывается голый html, т.е. вся структура файла но без применения css и js Затем браузер находит нужные файлы и разукрашивает страницу соответственно Но вот эта демонстрация голой структуры совсем не к месту, может кто нибудь знает как побороть И еще маленький вопрос в догонку, по теме, могу ли я загружать нужные файл только один раз на одной странице а потом уже использовать этот файл на всех остальных страницах, как константу какую нибудь Спасибо |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Например голую структуру нужно загружать после css и js. В таком-же javascript стиле. Основная страница будет чем-то вроде "подождите идет загрузка." Правда поисковикам такое обращение не понравится. Можно менять страницу на сервере, с помощью php и кук. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
inohodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Спасибо, я добавил весь html в javascript и всё это засунул в div, думал что сработает, так как вначале искал/загружал файл а потом заполнайл div. Но не тут то было, всё равно вылазит html...
Сервера у меня нет, тат как вся аппликация сидит на клиенте, это для смартфонов на phonegap. Короче после долгих размышлений думаю сделать две версии файлов, типа rtl.main.html и ltr.main.html в них уже прописать родные для них js/css |
|||
|
||||
lomaster |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
А где прописан это скрипт? |
|||
|
||||
inohodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Я сделал <div id="init"></>
Затем сделал <body onload="init(); "> В init() я сначала добавляю нужный скрипт, а потом делаю document.getElementById("init"); И в этот элемент через innerHTML добавляю весь html |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Это называется кэширование. Кэширование производится максимально прозрачно для разработчика. Клиентский броузер кэширует файлы с одним и тем-же URI. Сам, если его специально не уговаривать так не делать. Перед загрузкой файла, обычно, на сервер посылается запрос "а не поменялся ли файл с таким именем?" Если сервер отвечает, что нет - берется версия из кэша. Можно специальными заголовками при отдаче файла уговорить броузер не запрашивать сервер об измененных версиях, в течении какого-то времени. Так загрузка еще более сильно ускоряется. Однако при изменении контента на сервере возникнет проблема изменения кэша броузера клиента.
Надо было не вставлять контент из JavaScript, а подгрузить его с файла на сервере. Или дождаться полной загрузки css и javascript файлов. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
inohodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Всем спасибо, попробую разобраться:)
|
|||
|
||||
lomaster |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
|
||||
|
|||||
Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
lomaster, боюсь что в таком случае не будет доступа к DOM, который используется в скрипте.
Что если сделать родные стили что-то типа
А в подключаемых стилях инвертировать видимость этих блоков. |
||||
|
|||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |