 
			
				28.10.2010, 10:33
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.09.2009 
					
					
					
						Сообщений: 26
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как поместить курсор в IFrame в Opera
			 
			
		
		
		
		Добрый день. 
Написал функцию установки курсора в iframe. Но она, к содалению, не пашет в Opera.
 
function сursorGoTo(pos)
{
  var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;
  var iframe = (isGecko) ? document.getElementById("frameId") : frames["frameId"];
  var iDoc = (isGecko) ? iframe.contentDocument : iframe.document;
  iframe.focus();
  if(!isGecko)
  {
    var oRange = iDoc.body.createTextRange();
    oRange.move("character", pos);
    oRange.select();
  }
  else
  {
    DocumentSelection.setRange(iframe, pos, pos);
  }
}
Подскажите пожалуйста, что я сделал неправильно.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.10.2010, 13:25
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Пионэр 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.11.2009 
					
					
					
						Сообщений: 1,322
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Движок Оперы не Gecko, а Presto. 
Вы проверяете не то, что браузер умеет, а то, какой он. Такая дискриминация по юзер-агенту до добра не доводит. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.10.2010, 13:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.09.2009 
					
					
					
						Сообщений: 26
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от subzey
			 
		
	 | 
 
	
		Движок Оперы не Gecko, а Presto. 
Вы проверяете не то, что браузер умеет, а то, какой он. Такая дискриминация по юзер-агенту до добра не доводит.
	 | 
 
	
 
 Вы, наверно, не заметили if(!isGecko) - означает "Если не Gecko". 
Пофик, сделаю проверку по имени браузера   
Какой код должен быть для оперы?
 
Заранее спасибо    
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось mcfly, 28.10.2010 в 14:12.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.10.2010, 14:24
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Пионэр 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.11.2009 
					
					
					
						Сообщений: 1,322
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Более развернуто: не используйте определение возможностей браузера по его имени, движку и прочей номенклатуре. Проверяйте то, что хотите использовать. 
Например:
 
if (document.addEventListener) /* ... */ else if (document.attachEvent) /* ... */ else /* ... */
 
Казалось бы, можно проще: раз IE, значит,  attachEvent, иначе  addEventListener. Но в IE9 уже есть поддержка  addEventListener, и вот тут нестыковка, вроде, и IE, а, вроде и нужое умеет.
 
Или, к примеру, Вы подключаете библиотеку XPath на IE, а другой скрипт не хочет ее использовать, мотивируя это тем, что не может же быть XPath в IE!  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.10.2010, 15:01
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.09.2009 
					
					
					
						Сообщений: 26
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Про это понятно. Но, все же, я о другом спрашивал: Как поставить в опере курсор в iframe, в указанную позицию? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.10.2010, 09:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от subzey
			
		
	 | 
 
	| 
		 Казалось бы, можно проще: раз IE, значит, attachEvent, иначе addEventListener. Но в IE9 уже есть поддержка addEventListener, и вот тут нестыковка, вроде, и IE, а, вроде и нужое умеет.
	 | 
 
	
 
 Есть более прикольные вещи. В IE8, например, есть нативная поддержка JSON. Но если IE8 метатегом сбрасывается в режим эмуляции IE7 или на странице нет doctype, то поддержки JSON нет.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.10.2010, 09:59
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.09.2009 
					
					
					
						Сообщений: 26
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Народ, 3 сообщения от пользователей с крутейшей каромй и все, можно сказать, офтопик.  
 
Сабж: Как поставить в опере курсор в iframe, в указанную позицию? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.10.2010, 15:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.10.2010 
					
					
					
						Сообщений: 78
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Незнаю зачем вам там курсор, но насколько я знаю курсор можно поставить только в поле ввода. 
 
У меня есть 2 идеи но это так мысли вслух. 
 
1-я есть у IFrame свойсвто designMode которое использую визивиг редакторы так вот активировав этот режим и сделав активным фрэйм получим там курсор, останется только ЦСС установить оступ. 
 
2-я банально в тело фрэйма вставить textarea и заскинить ЦСС так что бы она вписывалась в общую картину (убрать паддинг и бордер) оступ опять же выставить ЦССом. 
 
Вот и всё, так как я не понял зачем курсор поэтому такие и идеи, просьба сильно не ругать. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.10.2010, 15:59
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 mcfly, 
 я точно не знаю, но что-то мне подсказывает, что ваша функция для Gecko на самом деле должна выполняться для всех браузеров, кроме IE. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.10.2010, 16:20
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.09.2009 
					
					
					
						Сообщений: 26
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Kolyaj
			 
		
	 | 
 
	
		mcfly, 
 я точно не знаю, но что-то мне подсказывает, что ваша функция для Gecko на самом деле должна выполняться для всех браузеров, кроме IE.
	 | 
 
	
 
 Сам удивлен, но пашет везде, кроме Оперы. Могу выложить текст хтмлки, чтобы протестить можно было  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |