09 Мар 2011

Используем CDN Яндекса для jQuery в XenForo

Category: XenForo,СтатьиFractalizeR @ 17:27

Если форум предназначен для России, можно использовать CDN Яндекса. Только нужно немного форум подпатчить.

1. Открываем library\XenForo\Dependencies\Public.php и заменяем метод getJquerySource на такой (просто добавляем еще один case фактически):

/**
	 * Fetch the path / URL to the jQuery core library
	 *
	 * @param boolean $forceLocal If true, forces the local version of jQuery
	 *
	 * @return string
	 */
	public static function getJquerySource($forceLocal = false)
	{
		$jQueryVersion = XenForo_Application::$jQueryVersion;
		$min = '.min';
 
		// CDN sources from http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery
		$source = ($forceLocal ? 'local' : XenForo_Application::get('options')->jQuerySource);
		switch ($source)
		{
			case 'jquery':
			case 'mt':
				return "http://code.jquery.com/jquery-{$jQueryVersion}{$min}.js";
 
			case 'google':
				return "http://ajax.googleapis.com/ajax/libs/jquery/{$jQueryVersion}/jquery{$min}.js";
 
			case 'microsoft':
				return "http://ajax.microsoft.com/ajax/jquery/jquery-{$jQueryVersion}{$min}.js";
 
			case 'yandex':
				return "http://yandex.st/jquery/{$jQueryVersion}/jquery{$min}.js";
 
			default:
				return "js/jquery/jquery-{$jQueryVersion}{$min}.js";
		}
	}
}

2. В Debug режиме идем в панель управления, находим там опцию jQuery Source (CDNjQuery) в разделе Performance (Производительность) и нажимаем карандашик справа (редактирование). Format Parameters (Параметры формата) заменяем на:

local=Local
google=Google Ajax API CDN
jquery=jQuery CDN
microsoft=Microsoft CDN
yandex=Яндекс CDN

Вот и все.  Теперь в настройках форума можно выбрать Яндекс CDN и jQuery будет загружаться с Яндекса. Только не забудьте отключить Debug режим.

Ответить

Для отправки комментария вам нужно зарегистрироваться. Войти.