Перейти к контенту
  • 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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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