![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| BuTbKa_ua |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
Всем доброго времени суток. Нужно переместить курсор в IFrame c designMode=on.
В IE это делается так :
this.doc - объект document окна this.container - объект body this.start - объект куда переместить курсор. Этот метод работает прекрасно в IE, в FF используется другой код, но он не всегда работает корректно:
Как заставить правильно перемещаться курсор к нужному объекту в FF? Это сообщение отредактировал(а) BuTbKa_ua - 2.10.2007, 13:38 |
||||
|
|||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
range.selectNodeContents( this.start || this.container );
range.collapse(false); |
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
неа, тот же результат - курсор в начале окна. this.start - определен и указан верно. Может это из-за того, что я вставляю код в BODY через innerHTML? |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
BuTbKa_ua, вообще-то установить диапазон можно, используя методы setStart/setEnd. Зачем Вы пытаетесь установить начало текстового диапазона перед нужным элементом (setStartBefore)?
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
Не мой код ) Моя задача модернизировать существующий SyntaxHighlight редактор.
Я с Range и Selection никогда не сталкивался, для меня это пока что нечто новое. Сейчас попробую по вашему совету переписать, посмотрю что получится. |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
> this.start - определен и указан верно.
сомневаюсь > Может это из-за того, что я вставляю код в BODY через innerHTML? сомневаюсь Добавлено через 1 минуту и 8 секунд приведи более полный код... Добавлено через 1 минуту и 44 секунды что за редактор? |
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
2cruelangel
вот тут и вызывается cursor.focus(), а строкой выше определяется cursor.start, повторяю в IE работает в FF нет. грешу на метод Cursor.focus я в нем дебагил this.start - объект определен и определен верно. не получается курсор передвинуть на этот элемент. |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
а что в консоли ошибок?
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
ничего, в том то и дело
|
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
а после undo с домом что-нибудь делается?
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
нет, только если вводить текст
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
Вопрос так и не решил. Написал небольшой файл для примера, все равно не хочет работать в FF
в IE рабтает идеально. Код привожу ниже, попробуйте кто-нибудь у себя в FF может у меня браузер глючит
|
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
у меня на второй лисице выдаёт ошибку
Это сообщение отредактировал(а) cruelangel - 10.10.2007, 18:42 |
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
У меня ничего не выдает (
В какой строке хоть? |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
нивкакой
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
а если так? Не понимаю почему у меня нет ошибок |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
BuTbKa_ua, уже лучше
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
а можно текст ошибки полный?
У меня включается designMode и ошибок никаких нету |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.designMode]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///T:/home/localhost/testo/$script/1.htm :: init :: line 12" data: no]
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
может так включит? Это сообщение отредактировал(а) BuTbKa_ua - 10.10.2007, 21:28 |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
неа, ни так ни в обратном порядке.
Это сообщение отредактировал(а) cruelangel - 11.10.2007, 08:13 |
|||
|
||||
| xamloru |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 2.8.2007 Репутация: нет Всего: нет |
100% именно из-за того что код вставляется через innerHTML, сталквался с такой проблемой. код который вставляешь через innerHTML, не инициализируется. document.write("<script>"); решит эту проблему. или можно попробовать через eval. так-же можно через тот-же innerHTML вставить элемент <a href='javascript:наш скрипт'></a> и потом соответственно нажать эту ссылку. |
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
да нет. Оказывается все работает у всех кроме меня ) видимо надо переустановить FF. Только что мой напарник отписал, что у него в FF все прекрасно работает. |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
а какая у него версия ты не спросил?
|
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
FF2 на Linux вроде смотрел.
Но вроде бы у него тоже не работает. Наверно все-таки innerHTML или еще что. А можно запомнить позицию в тексте курсора, а потом туда перенести курсор? |
|||
|
||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
можно, но там проблем не меньше
а что ты пытаешься реализовать? |
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
с CodePress работал. Раньше его брали как основу для редактора, но там слишком много багов и некоторые функции просто не реально было реализовать из-за концепции редактора. Вот взяли какой-то другой, даже не знаю что за редактор, но написан хорошо, правда MochKit используется в нем, что не очень хорошо.
Пытаюсь сделать undo&redo для него. в IE работает, в FF не фокусирует курсор на элементе. Надо пробовать как в CodePress сделать, там довольно хорошо работали эти функции |
|||
|
||||
| BuTbKa_ua |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.10.2006 Репутация: нет Всего: нет |
У меня получилось переместить курсор к нужному элементу в FF
сделал я это так:
Всем спасибо за помощь. Может кому пригодится этот небольшой кусок кода ) Это сообщение отредактировал(а) BuTbKa_ua - 12.10.2007, 15:57 |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |