Важная информация!
Правила форума
для обязательного прочтения!
Пожалуйста, не регистрируйтесь на этом форуме с электронными адресами mail.ru, bk.ru, inbox.ru, list.ru - вам может не прийти письмо со ссылкой активации!
Вы можете воспользоваться адресами типа yandex.ru, rambler.ru, gmail.com и т.д.
(забыл / потерял пароль)
Общий FAQ по управлению форумом
FAQ: реклама на форуме
Туториалы по разным функциям ваших форумов
Алфавитный указатель
Интересные решения для форумов
Наши видео-туториалы
Условия пользования сервисом
Ссылки на полезные ресурсы
Последние темы
» Проблема с метатегом Descriptionавтор VeraLV Вчера в 15:31
» 1 марта будет запрет на ВПН, это отразится на работе платформы?
автор Svet007 Март 14th 2024, 11:43
» нужен скрипт сумма просмотров тем в разделе
автор лексей2222 Март 5th 2024, 07:37
» Новое: Откройте для себя функцию "Подписка на пользователей"
автор лексей2222 Март 1st 2024, 17:26
» 301 редирект
автор Dana Domirani Февраль 25th 2024, 18:28
» Помощь в нескольких вопросах по форуму
автор лексей2222 Февраль 22nd 2024, 13:21
» [Общая тема] Что делать, если вы забыли / потеряли пароль
автор Dana Domirani Февраль 14th 2024, 00:54
» Загрузка форума
автор лисенок Февраль 13th 2024, 01:09
» 2x2 форум
автор лексей2222 Февраль 12th 2024, 14:47
» сколько сообщений в теме
автор лексей2222 Февраль 10th 2024, 07:24
Посоветуйте скрипт для грузинского языка
Участников: 2
Бесплатный форум: форум поддержки :: Взаимопомощь и Поддержка :: Проблемы со скриптами (кодами) :: [Архив] Проблемы со скриптами
Страница 1 из 1
Посоветуйте скрипт для грузинского языка
посоветуйте пожалуйста дорогие модераторы, этот код мне поможет сменить клавиатуру или дабавить шрифт, что бы мог автоматически писать Грузинским шрифтом на форуме?
если не затруднит вас, помогите плиз
- Спойлер:
- <script type="text/javascript" src="kibo.js"></script>
- Спойлер:
- var Kibo = function(element) {
this.element = element || window.document;
this.initialize();
};
Kibo.KEY_NAMES_BY_CODE = {
8: 'backspace', 9: 'tab', 13: 'enter',
16: 'shift', 17: 'ctrl', 18: 'alt',
20: 'caps_lock',
27: 'esc',
32: 'space',
33: 'page_up', 34: 'page_down',
35: 'end', 36: 'home',
37: 'left', 38: 'up', 39: 'right', 40: 'down',
45: 'insert', 46: 'delete',
48: '0', 49: '1', 50: '2', 51: '3', 52: '4', 53: '5', 54: '6', 55: '7', 56: '8', 57: '9',
65: 'a', 66: 'b', 67: 'c', 68: 'd', 69: 'e', 70: 'f', 71: 'g', 72: 'h', 73: 'i', 74: 'j', 75: 'k', 76: 'l', 77: 'm', 78: 'n', 79: 'o', 80: 'p', 81: 'q', 82: 'r', 83: 's', 84: 't', 85: 'u', 86: 'v', 87: 'w', 88: 'x', 89: 'y', 90: 'z',
112: 'f1', 113: 'f2', 114: 'f3', 115: 'f4', 116: 'f5', 117: 'f6', 118: 'f7', 119: 'f8', 120: 'f9', 121: 'f10', 122: 'f11', 123: 'f12',
144: 'num_lock'
};
Kibo.KEY_CODES_BY_NAME = {};
(function() {
for (var key in Kibo.KEY_NAMES_BY_CODE)
if (Object.prototype.hasOwnProperty.call(Kibo.KEY_NAMES_BY_CODE, key))
Kibo.KEY_CODES_BY_NAME[Kibo.KEY_NAMES_BY_CODE[key]] = +key;
})();
Kibo.MODIFIERS = ['shift', 'ctrl', 'alt'];
Kibo.WILDCARD_TYPES = ['arrow', 'number', 'letter', 'f'];
Kibo.WILDCARDS = {
arrow: [37, 38, 39, 40],
number: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57],
letter: [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90],
f: [112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123]
};
Kibo.assert = function(expression, exception) {
exception = exception || {};
exception.name = exception.name || 'Exception raised';
exception.message = exception.message || 'an error has occurred.';
try {
if(!expression)
throw(exception);
} catch(error) {
if((typeof console !== 'undefined') && console.log)
console.log(error.name + ': ' + error.message);
else
window.alert(error.name + ': ' + error.message);
}
};
Kibo.registerEvent = (function() {
if(document.addEventListener) {
return function(element, eventName, func) {
element.addEventListener(eventName, func, false);
};
}
else if(document.attachEvent) {
return function(element, eventName, func) {
element.attachEvent('on' + eventName, func);
};
}
})();
Kibo.unregisterEvent = (function() {
if(document.removeEventListener) {
return function(element, eventName, func) {
element.removeEventListener(eventName, func, false);
};
}
else if(document.detachEvent) {
return function(element, eventName, func) {
element.detachEvent('on' + eventName, func);
};
}
})();
Kibo.isArray = function(what) {
return !!(what && what.splice);
};
Kibo.isString = function(what) {
return typeof what === 'string';
};
Kibo.arrayIncludes = (function() {
if(Array.prototype.indexOf) {
return function(haystack, needle) {
return haystack.indexOf(needle) !== -1;
};
}
else {
return function(haystack, needle) {
for(var i = 0; i < haystack.length; i++)
if(haystack[i] === needle)
return true;
return false;
};
}
})();
Kibo.trimString = function(string) {
return string.replace(/^\s+|\s+$/g, '');
};
Kibo.neatString = function(string) {
return Kibo.trimString(string).replace(/\s+/g, ' ');
};
Kibo.capitalize = function(string) {
return string.toLowerCase().replace(/^./, function(match) { return match.toUpperCase(); });
};
Kibo.isModifier = function(key) {
return Kibo.arrayIncludes(Kibo.MODIFIERS, key);
};
Kibo.prototype.initialize = function() {
var i, that = this;
this.lastKeyCode = -1;
this.lastModifiers = {};
for(i = 0; i < Kibo.MODIFIERS.length; i++)
this.lastModifiers[Kibo.MODIFIERS[i]] = false;
this.keysDown = { any: [] };
this.keysUp = { any: [] };
for(i = 0; i < Kibo.WILDCARD_TYPES.length; i++) {
this.keysDown['any ' + Kibo.WILDCARD_TYPES[i]] = [];
this.keysUp['any ' + Kibo.WILDCARD_TYPES[i]] = [];
}
this.downHandler = this.handler('down');
this.upHandler = this.handler('up');
Kibo.registerEvent(this.element, 'keydown', this.downHandler);
Kibo.registerEvent(this.element, 'keyup', this.upHandler);
Kibo.registerEvent(window, 'unload', function unloader() {
Kibo.unregisterEvent(that.element, 'keydown', that.downHandler);
Kibo.unregisterEvent(that.element, 'keyup', that.upHandler);
Kibo.unregisterEvent(window, 'unload', unloader);
});
};
Kibo.prototype.matchingKeys = function(registeredKeys) {
var i, j, keyCombination, match, result = [];
for(var registeredKey in registeredKeys) {
if(Object.prototype.hasOwnProperty.call(registeredKeys, registeredKey)) {
keyCombination = Kibo.trimString(registeredKey).split(' ');
if(keyCombination.length && keyCombination[0] !== 'any') {
match = true;
for(j = 0; j < keyCombination.length; j++)
match = match && (Kibo.isModifier(keyCombination[j]) ? this.lastKey(keyCombination[j]) : (this.lastKey() === keyCombination[j]));
if(match)
result.push(registeredKey);
}
}
}
return result;
};
Kibo.prototype.handler = function(upOrDown) {
var that = this;
return function(e) {
var i, j, matchingKeys, registeredKeys;
e = e || window.event;
that.lastKeyCode = e.keyCode;
for(i = 0; i < Kibo.MODIFIERS.length; i++)
that.lastModifiers[Kibo.MODIFIERS[i]] = e[Kibo.MODIFIERS[i] + 'Key'];
if(Kibo.arrayIncludes(Kibo.MODIFIERS, Kibo.keyName(that.lastKeyCode)))
that.lastModifiers[Kibo.keyName(that.lastKeyCode)] = true;
registeredKeys = that['keys' + Kibo.capitalize(upOrDown)];
matchingKeys = that.matchingKeys(registeredKeys);
for(i = 0; i < registeredKeys.any.length; i++)
if((registeredKeys.any[i](e) === false) && e.preventDefault)
e.preventDefault();
for(i = 0; i < Kibo.WILDCARD_TYPES.length; i++)
if(Kibo.arrayIncludes(Kibo.WILDCARDS[Kibo.WILDCARD_TYPES[i]], that.lastKeyCode))
for(j = 0; j < registeredKeys['any ' + Kibo.WILDCARD_TYPES[i]].length; j++)
if((registeredKeys['any ' + Kibo.WILDCARD_TYPES[i]][j](e) === false) && e.preventDefault)
e.preventDefault();
for(i = 0; i < matchingKeys.length; i++)
for(j = 0; j < registeredKeys[matchingKeys[i]].length; j++)
if((registeredKeys[matchingKeys[i]][j](e) === false) && e.preventDefault)
e.preventDefault();
};
};
Kibo.prototype.registerKeys = function(upOrDown, newKeys, func) {
var i, registeredKeys = this['keys' + Kibo.capitalize(upOrDown)];
if(!Kibo.isArray(newKeys))
newKeys = [newKeys];
for(i = 0; i < newKeys.length; i++) {
Kibo.assert(
Kibo.isString(newKeys[i]),
{ name: 'Type error', message: 'expected string or array of strings.' }
);
newKeys[i] = Kibo.neatString(newKeys[i]);
if(Kibo.isArray(registeredKeys[newKeys[i]]))
registeredKeys[newKeys[i]].push(func);
else
registeredKeys[newKeys[i]] = [func];
}
return this;
};
Kibo.prototype.unregisterKeys = function(upOrDown, newKeys, func) {
var i, j, registeredKeys = this['keys' + Kibo.capitalize(upOrDown)];
if(!Kibo.isArray(newKeys))
newKeys = [newKeys];
for(i = 0; i < newKeys.length; i++) {
Kibo.assert(
Kibo.isString(newKeys[i]),
{ name: 'Type error', message: 'expected string or array of strings.' }
);
newKeys[i] = Kibo.neatString(newKeys[i]);
if(func === null)
delete registeredKeys[newKeys[i]];
else {
if(Kibo.isArray(registeredKeys[newKeys[i]])) {
for(j = 0; j < registeredKeys[newKeys[i]].length; j++) {
if(String(registeredKeys[newKeys[i]][j]) === String(func)) {
registeredKeys[newKeys[i]].splice(j, 1);
break;
}
}
}
}
}
return this;
};
Kibo.prototype.delegate = function(action, keys, func) {
return func !== null ? this.registerKeys(action, keys, func) : this.unregisterKeys(action, keys, func);
};
Kibo.prototype.down = function(keys, func) {
return this.delegate('down', keys, func);
};
Kibo.prototype.up = function(keys, func) {
return this.delegate('up', keys, func);
};
Kibo.keyName = function(keyCode) {
return Kibo.KEY_NAMES_BY_CODE[keyCode + ''];
};
Kibo.keyCode = function(keyName) {
return +Kibo.KEY_CODES_BY_NAME[keyName];
};
Kibo.prototype.lastKey = function(modifier) {
if(!modifier)
return Kibo.keyName(this.lastKeyCode);
Kibo.assert(
Kibo.arrayIncludes(Kibo.MODIFIERS, modifier),
{ name: 'Modifier error', message: 'invalid modifier ' + modifier + ' (valid modifiers are: ' + Kibo.MODIFIERS.join(', ') + ').' }
);
return this.lastModifiers[modifier];
};
если не затруднит вас, помогите плиз
Re: Посоветуйте скрипт для грузинского языка
Где находится CSS? Па > Оформление > Цвета > Каскадная таблица стилей CSS Где искать основные шаблоны? ПА > Оформление > Шаблоны > Общие настройки Где находится раздел для подключения скриптов ПА > Модули > Управление кодами Javascript |
Похожие темы
» Посоветуйте скрипт
» посоветуйте скрипт для того чтобы после наведения на текст он менял цвет
» Два языка
» Проблема с установкой языка
» Переводчик с блогового языка
» посоветуйте скрипт для того чтобы после наведения на текст он менял цвет
» Два языка
» Проблема с установкой языка
» Переводчик с блогового языка
Бесплатный форум: форум поддержки :: Взаимопомощь и Поддержка :: Проблемы со скриптами (кодами) :: [Архив] Проблемы со скриптами
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения