Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос по iframe
 
 автор: serenya1983   (20.02.2010 в 03:11)   письмо автору
 
 

Есть код:
frame=window.frames["frame_editor"];
var range = frame.document.selection.createRange();

Все прекрасно работает, но только под IE и Opera а в Mozilla ошибка:
frame.document.selection is undefined

Как быть с этой командой в Mozilla?

  Ответить  
 
 автор: АЯ   (20.02.2010 в 09:04)   письмо автору
 
   для: serenya1983   (20.02.2010 в 03:11)
 

Объект selection и метод createRange () для этого объекта поддерживаются только браузером MSIE.

В Mozilla и Opera используются совсем другие методы. Например, getSelection (). Или тот же createRange (), но не для выделенного, а для объекта document.

В общем, вам надо определять браузер, и использовать два РАЗНЫХ скрипта: один для MSIE (он, как я понимаю, у вас есть), второй - для Mozilla.

Со вторым скриптом можно посоображать... но надо знать - что вы далее делаете с выделенным.
Выкладывайте сюда ваш скрипт для MSIE - если это в принципе будет возможно (у MSIE есть уникальные возможности, не имеющие аналогов в Mozilla), то я вам набросаю аналогичный скрипт для Mozilla.

  Ответить  
 
 автор: serenya1983   (20.02.2010 в 12:26)   письмо автору
 
   для: АЯ   (20.02.2010 в 09:04)
 

Скпирт должен вставлять в текущее положение курсора HTML текст, примерно таким образом:
frame=window.frames["frame_editor"];
frame.focus();
var range = frame.document.selection.createRange();
range.pasteHTML("HTML код");

  Ответить  
 
 автор: АЯ   (20.02.2010 в 12:51)   письмо автору
 
   для: serenya1983   (20.02.2010 в 12:26)
 

Нажмите прямо здесь (чуть ниже справа) на ссылку Ответить и просмотрите код открывшейся страницы.
Поищите там функцию tag (), где увидите:
if ((document.selection)) 
     { 
     //это для MSIE
     }
else
     {
     //а это - для Mozilla
     }
И еще изучите обсуждение и доработку этой функции - http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=64151

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования