Перейти к контенту
  • 0

В full скин в мобильных броузерах неккоректно работает визуальный реда


Вопрос

Т.е. если даже просто на том же хроме  переключить юзерагента на мобильный, пропадают кнопки редактирования.
На скрине я переключил на на ipad для примера.
 
На форуме разработчиков поднят вопрос http://community.invisionpower.com/topic/388981-enabling-cke-editor-for-ios-devices-how-to-achieve/
, но решение, предложенное там
 

 

Sadly very easy.

 
Tools & Settings >
 User Agent Management >
 Manage User Agent Groups
 
 
 
remove the ipad user agent, the editor appears on an Ipad immediately, toggle it on, and its there.
 
 
 
FWIW, from playing with it on an ipad, I cant see any major issues with its use - I have no doubt some will arise, but then at least we can look to debug.
 
 
 
Happy hunting.
напоминает топор в виде лекарства от больной головы.
 
Нет, может это и фича, но юзеры жалуются,  ведь ладно со смартфонов, с планшетов нет форматирования.
 
так вот, может здеь кто решит, или подскажет в каком направлении копаться?

 

Изменено пользователем Сергей Кузин
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Предложенное решение наименее инвазивно.  В остальных вариантах нужно вырезать ipad в коде. Вот функция, определяющая возможность использования расширенного редактора.
admin\sources\classes\editor\composite.php

	/**
	 * Determines whether or not we can use the RTE
	 * @return	boolean
	 */
	protected function _canWeRte( $ignoreRTECheck=false )
	{
		/* Have we specifically set RTE? */
		if ( $this->getForceRte() !== null )
		{
			return $this->getForceRte();
		}
		
		/* Sent inline */
		if ( $ignoreRTECheck === false && ( isset( $_REQUEST['isRte'] ) && $_REQUEST['isRte'] == 1 ) )
		{
			return true;
		}
		
		$return = FALSE;
	
		if ( $this->memberData['userAgentKey'] == 'explorer' AND $this->memberData['userAgentVersion'] >= 7 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'opera' AND $this->memberData['userAgentVersion'] >= 9.00 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'firefox' AND $this->memberData['userAgentVersion'] >= 3 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'safari' AND $this->memberData['userAgentVersion'] >= 4 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'chrome' AND $this->memberData['userAgentVersion'] >= 2 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'camino' AND $this->memberData['userAgentVersion'] >= 2 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'mozilla' AND $this->memberData['userAgentVersion'] >= 4 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'aol' AND $this->memberData['userAgentVersion'] >= 9 )
		{
			$return = TRUE;
		}
		else if ( $this->memberData['userAgentKey'] == 'iphone' )
		{
			$return = false;
		}
		else if ( $this->memberData['userAgentKey'] == 'iPad' )
		{
			$return = false;
		}
		
		return $return;
	}
Ссылка на комментарий
Поделиться на других сайтах

  • 0

А после чего должно измениться?
Надо попробовать

else if ( $this->memberData['userAgentKey'] == 'iPad' )
		{
			$return = false;
		}

 
заменить на
 

else if ( $this->memberData['userAgentKey'] == 'iPad' )
		{
			$return = true;
		}
Ссылка на комментарий
Поделиться на других сайтах

  • 0

 

А после чего должно измениться?

Надо попробовать

else if ( $this->memberData['userAgentKey'] == 'iPad' )
		{
			$return = false;
		}

 

заменить на

 

else if ( $this->memberData['userAgentKey'] == 'iPad' )
		{
			$return = true;
		}

Сделал так, всё действительно заработало, но к сожалению не у всех

Не заработало почему то только на андроид планшетах, может что добавить надо?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Этим флагом вы только юзерагенту iPad разрешили кнопки редактирования. Для iphone тоже нужно поставить TRUE. Андроида в списке нет, так что для него работает флаг по умолчанию в самом верху. Его также замените на TRUE, и кнопки появятся по умолчанию для всех.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да, спасибо, я так и сделал.

		/* Sent inline */
		if ( $ignoreRTECheck === false && ( isset( $_REQUEST['isRte'] ) && $_REQUEST['isRte'] == 1 ) )
		{
			return true;
		}
		
		$return = TRUE;
	

Это чем то черевато?

Изменено пользователем Kowex
Ссылка на комментарий
Поделиться на других сайтах

  • 0

А еще можно просто юзерагентам ключи поменять в админке попробовать.


И на андроиде можно поставить оперу и в ней выбрать, чтобы она мнила себя настольной

Ссылка на комментарий
Поделиться на других сайтах

  • 0

нельзя на андроиде поставить оперу, потому что надо при решении любой задачи исходить из постулата, что юзер ленивый и ничего делать не будет

  • Лайк 1
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Во встроенном браузере тоже есть полный режим. А ленивый юзер пусть смайлики руками набивает.

 

Отправлено с моего W100 через Tapatalk

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.