Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2009, 21:25
Новичок на форуме
Отправить личное сообщение для ScarHead Посмотреть профиль Найти все сообщения от ScarHead
 
Регистрация: 26.05.2009
Сообщений: 4

Проблема с ЯваСкрипт в Mozilla Firefox 3
Вот JavaScript код, он нужен чтобы вставлять теги форматирования в текстовые поля (использую в администраторской части самодельной CMS):

<script language=JavaScript>
function Insert(Text) {
element = document.getElementById("text");
element.focus();
if (document.selection) {
SelectedText = element.document.selection.createRange();
SelectedText.text = Text;
}
}
</script>

А вот так нужный тег вставляется:

<input type=button value=' Параграф ' onclick='Insert("<p>")' class="button_">

Ну так вот, в опере 9.27 он работает прекрасно, а в Mozilla Firefox 3.0 не хочет. В обоих браузерах JavaScript включен. Узнал, что огненный лис не поддерживает createRange. Какой функцией его можно заменить? Если не трудно приведите пожалуйста рабочий вариант в FireFox вышеуказанного скрипта. Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2009, 23:00
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Range, TextRange и Selection
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2009, 09:29
Новичок на форуме
Отправить личное сообщение для ScarHead Посмотреть профиль Найти все сообщения от ScarHead
 
Регистрация: 26.05.2009
Сообщений: 4

Сообщение от Octane Посмотреть сообщение
Range, TextRange и Selection
Спасибо конечно, но можно совсем для дураков? Пробовал подставлять вышеуказанные функции вместо createRange и так, и сяк - все равно не пашет
Ответить с цитированием
  #4 (permalink)  
Старый 27.05.2009, 09:35
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а ты попробуй не copy-paste'ить, а разобраться в том, что там написано, почитать, подумать, вопросы позадавать
Ответить с цитированием
  #5 (permalink)  
Старый 27.05.2009, 09:46
Новичок на форуме
Отправить личное сообщение для ScarHead Посмотреть профиль Найти все сообщения от ScarHead
 
Регистрация: 26.05.2009
Сообщений: 4

Ребята, я конечно признаю что я бессовестный лентяй и не хочу разбираться в яваскрипт коде, но все же, может приведете мне измененный вариант моего скрипта? Ну пожалуйста!
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2009, 10:05
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от ScarHead
признаю что я бессовестный лентяй и не хочу разбираться в яваскрипт коде
вот ты сам и ответил на свой вопрос.
в таких случаях мы посылаем в раздел работа
если кому-то будет интересно, может и напишут за деньгу

тем, кто не хочет сам немного поработать для себя здесь не помогают
помощь получают те, кто сами прикладывают усилия
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2009, 15:46
Новичок на форуме
Отправить личное сообщение для ScarHead Посмотреть профиль Найти все сообщения от ScarHead
 
Регистрация: 26.05.2009
Сообщений: 4

Я проштудировал предложенные статьи, но так и не разобрался.... Ребята, скажите пожалуйста, как можно модифицировать мой скрипт, чтобы он корректно работал в файерфоксе! Я уже совсем замучался!
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2009, 17:40
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

У тебя скрипт написан для IE, то что он работает в Opera - просто везение, разработчики реализовали поддержку майкрософтовского TextRange. Для остальных W3C-совместимых браузеров нужно написать отдельную ветвь кода. В предложеной статье информации больше чем достаточно для решения твоей проблемы. Пока еще ты не показал что там у тебя не получается, чтобы мы могли тебе помочь.
Ответить с цитированием
  #9 (permalink)  
Старый 30.06.2009, 16:55
progi2007
 
Сообщений: n/a

У меня есть две функции для перемещения в тексарии. Думаю из них выцепишь, то что тебе поможет
function moveCaretToStart(obj)
{
  if (typeof(obj.createTextRange) != 'undefined')
  {
   var r = obj.createTextRange();
   r.collapse(true);
   r.select();
  }
  if (typeof(obj.selectionStart) != 'undefined')
  {
   obj.setSelectionRange(0,0);
   obj.focus();
  }
}

function moveCaretToEnd(inputObject)
{
  if (typeof(inputObject.createTextRange) != 'undefined')
  {
   var r = inputObject.createTextRange();
   r.collapse(false);
   r.select();
  }
  if (typeof(inputObject.selectionStart) != 'undefined')
  {
   var end = inputObject.value.length;
   inputObject.setSelectionRange(end,end);
   inputObject.focus();
  }
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ещё одна проблема обработки скрипта в Mozilla comcam Firefox/Mozilla 15 27.03.2009 02:22
Проблема c функцией click() в MOZILLA JackM Общие вопросы Javascript 4 24.03.2009 16:51
Проблема закрытия окна (window.close()) в Mozilla и FireFox Гость AJAX и COMET 4 06.11.2008 19:22
Специфичная проблема в firefox Ufai Rock Общие вопросы Javascript 1 23.10.2008 16:55
В Mozilla Firefox 3.0 проблемма с Javascript меню artmedia Элементы интерфейса 1 07.09.2008 10:43