|
[JS]innerHTML & HTML
|
| Автор |
Сообщение |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 20:03 Заголовок сообщения: [JS]innerHTML & HTML |
|
|
Используя свойство innerHTML заметил странную особенность (используется Mozilla FF 2.0.0.11): если перенести HTML-код из этого свойства другому элементу - он "не приживется"... проще говоря - теги остаются словами в треугольных скобочках и т.д.... Как тогда выполнить ту же операцию, перенос кода (в моем случае) из текстового поля в HTML-элемент, чтобы код срабатывал?..
В принципе, то же замечалось за JS-функциями... судя по всему, необходимо "вживлять" в DOM-структуру... что само по себе весьма сложно  _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 20:09 Заголовок сообщения: |
|
|
Такое наблюдается только тогда, когда ты берёшь значения из текстовых полей. Во всех остальных случаях во всех браузерах отоброжение нормальное. Выход из положения : использовать таблицу трансляции символов _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 20:31 Заголовок сообщения: |
|
|
антон888
вручную переводить каждую сущность в HTML-аналог?.. _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 20:41 Заголовок сообщения: |
|
|
Ну если не знать функцию , которая этим занимается (а она наверняка должна быть, хотя я её не знаю и беглый обзор справочника ни к чему не привёл), то её можно самому написать. Будет не так уж грамоздко и сложно, как может показаться.
Вообще здесь же дело в логике : логично , что "<" введенное в текстовое поле, при методе innerhtml будет отоброжаться как "<" а не начало дескриптора _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 20:43 Заголовок сообщения: |
|
|
суммировав это усложнение и усложнение с переводами <br>->\n и обратно в JS, приходишь к выводу, что проще перегнать все лишний раз на сервер и получить удобоваримым так и буду делать) _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 20:46 Заголовок сообщения: |
|
|
Проще . Тебе , но не пользователю (лишний трафик), ни серверу (лишние ресурсы)  _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 20:56 Заголовок сообщения: |
|
|
антон888
Пользователю. Общий обьем JS в результате будет зашкаливать, что куда больше угрожает его траффику, нежели небольшая доза докачки с сервера и обратно... _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 21:05 Заголовок сообщения: |
|
|
А вот тут в корне не согласен. Небольшая доза докачки = AJAX . AJAX это не так уж мало строк кода, но даже в том случае, если он уже используется на сайте и ты им захочешь передать твой текст на сервер , а потом обратно его подгрузить форматированным, объем такой передачи будет в разы выше, чем функция написанная на js. А если тебе надо нескорлько раз переводить эту строку ? js закэшируется и нет проблем, а вот аякс будет жрать трафик по новой... _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 21:10 Заголовок сообщения: |
|
|
антон888
я стараюсь AJAX, где это имеет смысл, также кешировать... все таки, скорость у пользователей ныне не столь и низкая, а обьемы постепенных передач (относительно обычных скриптов) очень малы, что делает логичным применение такой тактики... зато я не рискую получить неизвестно-что, не подлежащее редактированию, возникшее, допустим, по чокнутости какого-либо плагина у пользователя... хотя, вынужден согласиться, пока еще есть что оптимизировать... буду весьма благодарен, если знаешь функцию JS, которая банально проверяет, существует ли определенный элемент на странице, не генерируя ворнинга (по id) и возвращает true||false... крайне не хватает такой и в справочнике у меня ее нет.. _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 21:14 Заголовок сообщения: |
|
|
| Код: |
function Check(id)
{
if(document.getElementById(id)){return true;}else{return false;}
}
|
Короче просто вставляется в условие и всё. Как и всё гениальное просто =) _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 21:15 Заголовок сообщения: |
|
|
всегда забываю, что можно не лепить длинную цепочку свойств
Тогда вообще охамею... какой функцией на многих сайтах делают всплывающий слой так, чтобы пока его не закрыли, остальная часть страницы была неактивна и некликабельна?..
Added:
Причем, ее еще затемняют...  _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 21:26 Заголовок сообщения: |
|
|
Сам такое не писал, но один из вариантов таков:
делаешь слой с width и heigth по 100% , большим z-index'ом и position: absolute; (Короче чтоб перекрыло всю страницу). У этого слоя делаешь фильтр прозрачности (хотя бы тот же alpha просто) и таким образом получаешь "неактивную" страницу. Ну а поверх этого адского слоя уже выводишь слой диалога сообщения. В итоге функция будет тоже из одной строки - что нибудь вроде :
| Код: |
function dark()
{
mydiv=document.getElementById("mydiv");
if(mydiv.style.display=="none")
{
mydiv.style.display="block";
}else{
mydiv.style.display="none";
}
// else нужно для случая когда параметр неопределён
}
|
Эта функция и будет затемнять и возвращать нормальный вид страницы. Вызывается она при вызове диалога и при его ответе. _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
антон888 Два пингвина


Зарегистрирован: 05.11.2007 Сообщения: 311
13441 
|
Добавлено: Вт, 01 Янв, 2008 21:29 Заголовок сообщения: |
|
|
Added
фильтром можно хоть затемнить , хоть инвертировать цвета. Простор для фантазии огромен. А ещё кроме статических фильтров есть динамические, которые позволят например при вызове диалогового окна как-бы расстворять страницу. Смотрятся афигительно крута!  _________________ сайт знакомств Забудь про фразу "Мне не с кем". Всегда есть с кем! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 21:29 Заголовок сообщения: |
|
|
Кул!.. Теперь осталось все это аккуратно нацепить...  _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Вт, 01 Янв, 2008 21:31 Заголовок сообщения: |
|
|
| антон888 писал(а): | Added
фильтром можно хоть затемнить , хоть инвертировать цвета. Простор для фантазии огромен. А ещё кроме статических фильтров есть динамические, которые позволят например при вызове диалогового окна как-бы расстворять страницу. Смотрятся афигительно крута!  |
а недостатки?.. все браузеры тянут?.. совместимость, ресурсоемкость, обьем, в конце концов... _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
|