Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поймать выделение в Опере, Как его отловить? 
V
    Опции темы
Burrr
Дата 22.2.2006, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Накидал такой скриптец (позволяет увидеть выделение в ИЕ и Гекко):
Код

var ua = navigator.userAgent.toLowerCase();
isIE = ((ua.indexOf("msie") != -1)&& (ua.indexOf("webtv") == -1)); 
isGecko = (ua.indexOf("gecko") != -1);

function fix_select()
{
    if(isIE) txt=document.selection.createRange().text;
    else if(isGecko) txt=window.getSelection();
    alert(txt);
}

Однако ни один из 2-х методов неприменим для Оперы. smile
Как поймать выделение там?
P.S. Смотрел в Opera 8.02.


--------------------
PM MAIL ICQ   Вверх
Burrr
Дата 22.2.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Сорри за поспешность, нашел в одной из тем.
Вот итоговый скрипт, если кому понадобиться
Код

var ua = navigator.userAgent.toLowerCase();
isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
isGecko = (ua.indexOf("gecko") != -1);
isOpera = (ua.indexOf("opera") != -1);
function fix_select()
{
    if(isIE) txt=document.selection.createRange().text;
    else if(isGecko) txt=window.getSelection();
    else if(isOpera) txt=document.getSelection();
    alert(txt);
}

Думаю можно его ещё проапгрейдить.


--------------------
PM MAIL ICQ   Вверх
Sardar
Дата 25.2.2006, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Burrr @ 22.2.2006, 15:11 Найти цитируемый пост)
Думаю можно его ещё проапгрейдить.

Да, можно, совет: всегда проверяй фишку что используешь, а не версию браузера, рискуешь нарваться на браузер что всё поддерживает, но имеет другой userAgent smile

Код
function myGetSelection() {
  var selection;
  if(document.getSelection) { //если мозилло/оперо подобные
    if(typeof(window.getSelection)!="undefined") selection=window.getSelection();
    else selection=document.getSelection();
  } else selection=document.selection.createRange().text; //для IE подобных
  return selection;
}


P.S. код строка в строку используеться на этом форуме, попробуй с разных браузеров smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Burrr
Дата 26.2.2006, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Sardar, спасибо!


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.