Редактор HTML, CSS, JavaScript кода

Вот три очень популярных бесплатных зарубежных редакторов:

  1. http://jsfiddle.net/
  2. http://codepen.io/
  3. http://jsbin.com/

Можно сделать и самому визуальный онлайн редактор HTML, CSS, JavaScript кода. Его не нужно скачивать, он очень простой в создании и использовании и совершенно бесплатный. ㋛ У меня, например, есть такие статьи, где можно прямо на странице подправить CSS. Очень удобно.

Я - результат

Атрибут contenteditable

Атрибут contenteditable позволяет редактировать любой элемент.

<div contenteditable>это тег div</div>
это тег div
<style contenteditable class="style"> /* это стиль CSS */
[contenteditable] {
display:block;
margin: 10px 0px 10px 10px;
padding: 10px;
border: 1px dashed #d2bf94;
font: 90% normal helvetica, sans-serif;
white-space: pre-wrap;
word-wrap: break-word;
background: #fff5d7;
color: #3f0309;
}
[contenteditable]:focus {
border: 1px solid #d2bf94;
background: #fff;
}
.style[contenteditable]:before {content: "\3cstyle\3e"; color: #8f494f;}
.style[contenteditable]:after {content: "\3c\2fstyle\3e"; color: #8f494f;}
</style>
А, если пройти по этой ссылке или ввести в адресную строку
data:text/html, <html contenteditable>
то можно страницу браузера использовать как блокнот.

Динамически изменяемый HTML (а-ля редактор HTML)

Создадим поле, куда можно ввести код HTML, ниже другое поле, которое показывает его отображение. Поскольку textarea сам переводит < > в спец. символы, то скрипт будет минимальным:

<textarea oninput="document.getElementById('divHTML').innerHTML = this.value"></textarea>
<div id="divHTML"></div>

JavaScript на лету

Для того, чтобы внешний JavaScript выполнялся после загрузки HTML документа, применяют атрибуты defer и async.

<script src="script.js" defer></script>

Для того, чтобы JavaScript подгружался на лету, можно создать новый тег script

<script>
	var Script = document.createElement('script');
	Script.src = "script.js";
	document.getElementsByTagName('head')[0].appendChild(Script);
</script>

Или так

<textarea id="scriptContent" onchange="changeScript()">
	//содержание нового скрипта
</textarea>

<script>
function changeScript() {
	var Script = document.createElement('script');
	Script.textContent = document.getElementById('scriptContent').value;
	document.getElementsByTagName('head')[0].appendChild(Script);
	Script.replaceChild(Script, document.getElementById('scriptContent').firstChild);
}
</script>
в f t
наверх ↑

12 комментариев:

ctdf
Если ввести в css *{background:red;} или ввести в html тег style *{background:red;}, то весь сайт, а не только тот блок в котором выводиться результат.
И получается что это не онлайн редактор HTML, css и js, т.к. используя его вы редактируете не только строго отведённое вам место, а всю страницу включая онлайн редактор, и следовательно результат может быть влиянием онлайн редактора на страницу, которая влияет на онлайн редактор, результат не предсказуем.

Можете избавиться пожалуйста от этого упущения, или изменить заголовок на онлайн редактор страницы.
Единственное применение вижу - онлайн редактор самой страницы, например редактировать сразу стилей или иной блок, но нужно сделать отправку отредактированного кода на сайт.
NMitra
Резонное замечание. В статье дала список популярных редакторов. У меня не было задачи сделать что-то подобное.
Анонимный
I don't even know the way I stopped up here, however I assumed this publish used to
be great. I do not recognize who you might be but definitely you are going
to a famous blogger in the event you aren't already. Cheers!
NMitra
Спасибо ))
Анонимный
Hello, Neat post. There's a problem along with your site in
web explorer, could check this? IE still is the market leader and a huge portion
of other people will leave out your excellent writing because of this
problem.
NMitra
Здравствуйте, вы правы, старые версии IE не поддерживают contenteditable. У меня нет решения этой проблемы.
NMitra
Комментарий удалила, ваш сервис недоступен.
Кос он
привет. написали свой редактор для тестирования и написания сниппетов. так же из сниппетов вы можете создать веб приложение. http://wamer.net/ пользуйтесь и пишите отзывы (замечания) нам на почту. спасибо
Nonna
HTML гаджета (начало) - style
.google_translate img {
filter:alpha(opacity=100);
-moz-opacity: 1.0;
opacity: 1.0;
border:0;
}
.google_translate:hover img {
filter:alpha(opacity=30);
-moz-opacity: 0.30;
opacity: 0.30;
border:0;
}
.google_translatextra:hover img {
filter:alpha(opacity=0.30);
-moz-opacity: 0.30;
opacity: 0.30;
border:0;
}
style - куда можно добавить цвет и шрифт color: #6425a5;font-family: Verdana, sans-serif; ?
NMitra
Тут представлены селекторы изображения. Изображению без толку задавать цвет и шрифт. Нужен селектор текста.
Unknown
что на счёт функции eval()? тоже выполняет скрипт переданный в виде строки.
NMitra
А зачем спрашивать, если можно попробовать :)