Как сделать навигацию по страницам с помощью клавиш Ctr->, Ctrl<-

Небольшие моды и хаки для форума phpBB3
Правила форума
При размещении мода/статьи взятой с другого форума/сайта обязательно необходимо указывать первоисточник сообщения.
 • Просмотры: 1396
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Как сделать навигацию по страницам с помощью клавиш Ctr->, Ctrl<-

22 дек 2010, 19:46

В файле /includes/function.php после

Код: Выделить всё

		$tpl_prefix . 'PREVIOUS_PAGE'	=> ($on_page == 1) ? '' : $base_url . "{$url_delim}start=" . (($on_page - 2) * $per_page),
		$tpl_prefix . 'NEXT_PAGE'		=> ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}start=" . ($on_page * $per_page),
		$tpl_prefix . 'TOTAL_PAGES'		=> $total_pages,
добавить

Код: Выделить всё

		'PREVIOUS_PAGE_KEY'				=> str_replace('&', '&', ($on_page == 1) ? '' : $base_url . "{$url_delim}start=" . (($on_page - 2) * $per_page)),
		'NEXT_PAGE_KEY'					=> str_replace('&', '&', ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}start=" . ($on_page * $per_page)),
в файлах /styles/prosilver/template/viewtopic_body.html, /styles/prosilver/template/viewtopic_tracker_body.html после

Код: Выделить всё

<!-- INCLUDE overall_header.html -->
добавить

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
function defineHotKey(key,code)
{
	if(typeof(key) == 'string')
	{
		var plus = key.indexOf('+');
		var key0 = plus > 0 ? key.substr(0,plus).toLowerCase() : undefined;
		if(!/^(ctrl|alt|shift)$/.test(key0)) return false;
		var key1 = key.substr(plus+1)*1;
	}
	else key1 = key;
	function react(e)
	{
		var e = e || window.event;
		var keyCode = e.which || e.keyCode;
		if((eval('e.'+key0+'Key')?key0:!key0) && keyCode == key1)
		{
			if(e.preventDefault) e.preventDefault(); e.returnValue = false;
			eval(code);
		}
	}
	if(document.addEventListener) document.addEventListener('keydown',react,false);
	else if(document.attachEvent) document.attachEvent('onkeydown',react);
}
<!-- IF PREVIOUS_PAGE-->defineHotKey('ctrl+37',"window.location='{PREVIOUS_PAGE_KEY}'");<!-- ENDIF -->
<!-- IF NEXT_PAGE -->defineHotKey('ctrl+39',"window.location='{NEXT_PAGE_KEY}'");<!-- ENDIF -->
// ]]>
</script>
для стиля subsilver2, сдлеать всё то же самое в файлах /styles/subsilver2/template/viewtopic_body.html, /styles/subsilver2/template/viewtopic_tracker_body.html

Для демонстрации зайдите в эту тему viewtopic.php?f=14&t=459&start=40 и нажмите на клавиатуре клавишу Ctrl и клавишу вправо/влево

Исходный код JS скрипта взят отсюда: http://fladex.ru/news/a-126.html
bi
bizZz0n
Откуда: Украина, Харьков
Благодарил (а): 7 раз
Поблагодарили: 4 раза
Сообщения: 327
Зарегистрирован: 28 янв 2010, 00:58
Сообщение

Как сделать навигацию по страницам с помощью клавиш Ctr->, Ctrl<-

07 мар 2011, 22:22

А можно как-то сделать отправку сообщения с помощью клавиш Ctrl+Enter (Как в Вконтакте). Очень удобно кстати!!!
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Как сделать навигацию по страницам с помощью клавиш Ctr->, Ctrl<-

09 мар 2011, 22:30

Вернуться в «Минимоды и хаки для phpBB3»