Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Как в жаваскрипт переменной записать хтмл?


Автор: macdack 12.4.2015, 19:01
Столкнулся с проблемой и не могу понять что же я не понимаю

Не могу написать внутри тега <script> литерал строковой переменной содержащий в себе в том числе и тег </script> 
- закрывающий тег обрабатывает браузер и плучается что текст всей программы образан

<script type="text/javascript">
Переменная = '</script>';
</script>

Вообще же у меня в переменной сохраняется хтмл-текст для использования его в айфрейме в атрибуте srcdoc


Автор: ksnk 12.4.2015, 20:52
Код

<script type="text/javascript">
Переменная = '</'+'script>';
</script>

Автор: macdack 13.4.2015, 09:55
Понял что надо экранировать символы
Но это мучение и мне не подходит 

Насколько вообще распространена практика использования srcdoc ?

Наверное это излишество и экзотика ?


Автор: ksnk 13.4.2015, 10:35
Цитата(macdack @  13.4.2015,  09:55 Найти цитируемый пост)
Насколько вообще распространена практика использования srcdoc ?

Это про вставку содержимого в iframe напрямую? Довольно распространена. Хотя, в основном, в технических целях - подгрузка файлов на сервер, визивиг редакторы , iframe-ajax и т.д.


Автор: macdack 13.4.2015, 10:40
Мне кажется основное предназначение этого элемента - возможность создания браузера в браузере

Все остальное можно и нужно делать без него

? Я прав ?

Автор: ksnk 13.4.2015, 11:00
macdack, iframe - это инструмент. Предназначен для определеного круга задач. Виджеты вконтакта и фейсбука для страницы сайта, например, иначе не сделать.
Инструменты нужно использовать в соответствии с решаемой задачей.

Автор: macdack 13.4.2015, 11:01
И еще вопрос по теме
InnerHtml - можно ли взять это строковое значение и передать в srcdoc ?

В обоих случаях это просто хтмл-текст?

В айфрейме есть свой innerhtml ?

Добавлено через 5 минут и 23 секунды
ksnk, честно говоря я не очень понимаю слово виджет 
Просто ни разу не делал сам

Поясни пожста на примере вконтакта зачем они нужны и как обычно устроены и работают

Автор: ksnk 13.4.2015, 12:51
Цитата(macdack @  13.4.2015,  11:01 Найти цитируемый пост)
InnerHtml - можно ли взять это строковое значение и передать в srcdoc ?
В обоих случаях это просто хтмл-текст?
В айфрейме есть свой innerhtml ?

Текст для вывода в iframe можно брать откуда угодно, хоть из соседниъ элементов. Заполнятьiframe несколько сложнее, использовать innerHtml там уже сложнее.
Код


var t=window.document,
Pt = $("<iframe frameborder='0' width='0' height='0'/>").css("cssText", "display:block !important")).appendTo(t.documentElement), 
t = (Pt[0].contentWindow || Pt[0].contentDocument).document;
t.write("<!doctype html><html><body>");
t.write(...

Вот пример создания и заполнения содержимого ифрейма с использованием jQuery. 

Цитата(macdack @  13.4.2015,  11:01 Найти цитируемый пост)
я не очень понимаю слово виджет

Виждет - это некий визуальный элемент оформления сайта. Часики, снежинки, группа вконтакта. 
Если виджету нужно активно работать с чужим сайтом и одновременно показываться на странице сайта, iframe - довольно удобное решение. 

Автор: macdack 13.4.2015, 14:34
Не понял

Жиквери не надо - баловство это
Только нативный жаваскрипт без костылей

Ты мне пожста поясни совместимы ли эти два атрибута
Можно ли взять innerhtml всего документа и передать его непосредственно в атрибут srcdoc айфрейма 
И наоборот

Добавлено через 4 минуты и 14 секунд
Посмотрел значение слова Виждет

На самом деле нет смысла использовать это непонятное слово

Надо говорить просто - элемент интерфейса

В данном случае это окно в окне

Автор: macdack 13.4.2015, 15:29
До меня дошло что в innerhtml любого элемента не хранится жаваскрипт и стили в отличии от srcdoc в котором полноценный докумет может содержаться

Вопрос решен -
Надо ставить обратный слеш перед смволом слеша в закрывающем теге скрипта
И надо ставить обратные слеши в конце каждой строки (пeред символом перевода строки)


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)