хочу написать свой WYSIWYG редактор
Есть скрипт и понятно как он работает, не могу понять как в документе при вызове textarea с определённым айди заменить его на iframe, в котором и будет работать скрипт редактора.
Нужно в теге в параметре onLoad вызвать какую-то функцию, которая заменит текстарею на iframe? Как это сделать?) |
будете писать на чистом javascript или на каком-либо framework'e?
|
чистый яваскрипт, но я по-моему уже нашел решение, сейчас им и займусь.
|
|
Цитата:
|
Разве что в самописном
|
хотя, есть плагины
|
Цитата:
|
Цитата:
|
В DojoToolkit есть свой WYSIWYG редактор.
И в версии 1.4 за него очень плотненько взялись. А вообще не вижу смысла писать свой редактор. Браузеры сильно развиваются. Кто будет суппортить его. Проще воспользоватся уже готовым решением. Тем более есть очень неплохие решения. К примеру dojo'ский можно тащить с CDN AOL. А скорости и политика кэширования там впечатляет.)) |
Dojo вообще глючный какой-то.
|
Я бы сказал реализация javascript глючная под разными браузерами.
А насчет глючности dojo я не знаю. Думаю надо просто в него вникнуть. |
Цитата:
|
Не вижу смысла тащить редактор, который реализовать не так уж и сложно, особенно если не нужно из него подобие ворда делать. К тому же многие из них не такие уж и удобные. Тоже мне нашли чем мерятся - редакторами. WYSIWYG должен всего-то уметь вставлять картинки с сервера, грузить их на сервер, создавать папочки, вставлять таблички, ну в остальном всякие мелочи. Не вижу проблемы, кроме двух недель времени чтобы написать свой под основные браузеры.
|
Я пишу свой редактор в целях практики, так как начал изучать яваскрипт совсем недавно, буквально пару дней назад. В принципе реализовал основу, работает в ИЕ и в ФФ, но в опере не пашет набор текста в ифрэйме... Ещё хочу сделать так, чтобы высоты-ширина ифрэйма по дефолту заимствовались у textarea. Вот отрывки кода:
<body onLoad='wys()'> <form > <textarea id="WYSIWYG" ></textarea> <br /> //тут куча кнопок </form> function wys() { el=document.getElementById("WYSIWYG"); ifram = document.createElement ("iframe"); document.forms[0].replaceChild(ifram, el); ifram.style.frameBorder='yes'; ifram.id='frameId'; ifram.style.scrolling = 'no'; iframe = (isGecko) ? document.getElementById("frameId") : frames["frameId"]; iWin = (isGecko) ? iframe.contentWindow : iframe.window; iDoc = (isGecko) ? iframe.contentDocument : iframe.document; iHTML = ""; // Добавляем его с помощью методов объекта document iDoc.open(); iDoc.write(iHTML); iDoc.close(); if (!iDoc.designMode) alert("Визуальный режим редактирования не поддерживается Вашим браузером"); else iDoc.designMode = (isGecko) ? "on" : "On"; } |
Знакомые до боли строки :)
|
неужели никто не подскажет почему в опере-то не пашет?
|
вобщем не работает именно эта строчка:
iWin = (isGecko) ? iframe.contentWindow : iframe.window; и именно в опере, в остальных браузерах норм. Хелп ми самбади) |
Я уже ненавижу этот редактор, несколько дней гуглю ни магу найти решение. По всем соображением - всё должно работать в опере. Но не работает. Мб найдётся человек, который знает в чем дело?
|
А так?
var iWin = iframe.contentWindow || iframe.window; |
Неа, не помогает(
Ещё вопрос нарисовался: как сделать, чтобы при нахождении позиционного курсора на форматированном тексте, кнопки, отформатировавшие его, выделялись? То бишь, тыкнул на текст, который жирный и подчеркнутый, кнопки Ж и П выделились как-нить. |
Часовой пояс GMT +3, время: 17:11. |