Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.05.2010, 15:11
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

WYSIWYG: проверка iWin.focus()
Здравствуйте, сделал простенький WYSIWYG по одному из уроков, вот код:

<script>
document.write("<div class='buttons'><div class='bold' onclick='setBold()'></div>");
document.write("<div class='italic' onclick='setItal()'></div>");
document.write("<div class='under' onclick='setUnder()'></div></div>");

// Выводим в HTML-поток iframe
document.write("<iframe scrolling='no' class='wysiwyg' frameborder='no' src='#' id='frameId' name='frameId'></iframe><br/>");
// Определим Gecko-браузеры, т.к. они отличаются в своей работе от Оперы и IE
var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
// Получаем доступ к объектам window & document для ифрейма
var iframe = (isGecko) ? document.getElementById("frameId") : frames["frameId"];
var iWin = (isGecko) ? iframe.contentWindow : iframe.window;
var iDoc = (isGecko) ? iframe.contentDocument : iframe.document;

// ***********************
// ШАГ 2: Добавим на пустую страницу ифрейма произвольный HTML-код
// ***********************

// Формируем HTML-код
iHTML = "<html><head>\n";
iHTML += "<style>\n";
iHTML += "body, div, p, td {font-size:12px; font-family:tahoma; margin:0px; padding:0px;}";
iHTML += "body {margin:5px;}";
iHTML += "</style>\n";
iHTML += "<body><u>Содержимое</u> с <b>HTML</b>-<i>разметкой</i></body>";
iHTML += "</html>";
// Добавляем его с помощью методов объекта document
iDoc.open();
iDoc.write(iHTML);
iDoc.close();

// ***********************
// ШАГ 3: Инициализация свойства designMode объекта document
// ***********************

if (!iDoc.designMode) alert("Визуальный режим редактирования не поддерживается Вашим браузером");
else iDoc.designMode = (isGecko) ? "on" : "On";

// Запишем код функции, для выставления форматирования
// Используется метод execCommand объекта document
function setBold() {
    iWin.focus();
    iWin.document.execCommand("bold", null, "");
}
function setItal() {
    iWin.focus();
    iWin.document.execCommand("italic", null, "");
}
function setUnder() {
    iWin.focus();
    iWin.document.execCommand("underline", null, "");
}
</script>


iWin.focus() - текущая выделенная часть текста.

Теперь не знаю как сделать проверку выделенного, то есть если например в iWin.focus() присутствует bold, то происходило какое-то действие. Подскажите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 01.06.2010, 10:31
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Ну может у кого есть что-то наподобие?
Ответить с цитированием
  #3 (permalink)  
Старый 01.06.2010, 10:46
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

RegExp в помощь.
Ответить с цитированием
  #4 (permalink)  
Старый 01.06.2010, 13:57
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

А как искать с помощью регулярных выражений по iWin.focus()? Даже если сделать так, например:
function setItal() {
    iWin.focus();
    iWin.document.execCommand("italic", null, "");
    var aaa = iWin.focus()
    alert(aaa);
}

вылазит undefined

Последний раз редактировалось Vulkan, 01.06.2010 в 14:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая проверка формы. Добавить "динамики". Jurasmi Элементы интерфейса 3 07.04.2010 16:48
Проверка и отправка данных из формы Катерина Общие вопросы Javascript 2 25.03.2010 16:56
Вопрос по разработке wysiwyg gosha13 Элементы интерфейса 2 26.09.2009 09:52
jquery wysiwyg kolbaski jQuery 3 11.08.2009 18:07
проверка на наличие определенных символов arbelon Работа 5 15.05.2009 01:41