Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.08.2010, 22:28
Интересующийся
Отправить личное сообщение для Paska Посмотреть профиль Найти все сообщения от Paska
 
Регистрация: 02.03.2010
Сообщений: 15

SyntaxHighlighter 3.0.83 - подключить toolbar
Всем здрасте. Использую замечательную библиотеку для подсветки кода. Здесь пример.
есть вопросы:

1. как добавить кнопки в toolbar. В примере (по умолчанию) загружется toolbar справа, в котором только 'help'. я так понял, что это осуществляется при помщи js и методов, описанных в shCore.js. но не могу понять как именно.

2. есть ли возможность вывести эти кнопки за пределы панели (или саму панель переместить). в примере см. линки - 'view source' и 'copy to clipboard'.

не так уж сильно рублю в js, что бы понять как работает эта библиотека.

заранее СПС.
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2010, 04:25
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

1. В версии 2.0 кнопки добавлялись добавлением в toolbar.items функции-конструктора вида
function (e) {
	this.create = function () { // функция, вызывающаяся при создании кнопки. Возвращает содержимое ссылки-кнопки либо сразу DOM узел
		if (e.getParam('collapse') != true) return;
		return k.config.strings.expandSource
	};
	this.execute = function (element, event) { // функция, вызывающаяся при клике по кнопке
	}
}
по некоторому ключу name.
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2010, 11:45
Интересующийся
Отправить личное сообщение для Paska Посмотреть профиль Найти все сообщения от Paska
 
Регистрация: 02.03.2010
Сообщений: 15

ок, спс, буду разбираться.
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2010, 12:05
Интересующийся
Отправить личное сообщение для Paska Посмотреть профиль Найти все сообщения от Paska
 
Регистрация: 02.03.2010
Сообщений: 15

а как этим пользоваться, не подскажешь? как и где вызывать эту функцию и что за аргумент (e)?

я делаю так (исользую jquery и вставляю в конец документа) и не работает.

$(function(){
	function (e) {
		this.create = function () { // функция, вызывающаяся при создании кнопки. Возвращает содержимое ссылки-кнопки либо сразу DOM узел
			if (e.getParam('collapse') != true) return;
			return k.config.strings.expandSource
		};
		this.execute = function (element, event) { // функция, вызывающаяся при клике по кнопке
		}
	}
});


и какой должен быть код в ф-ии -
function (element, event) { // функция, вызывающаяся при клике по кнопке
// код?
}

Последний раз редактировалось Paska, 25.08.2010 в 12:20.
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2010, 15:26
Интересующийся
Отправить личное сообщение для Paska Посмотреть профиль Найти все сообщения от Paska
 
Регистрация: 02.03.2010
Сообщений: 15

если кому интересно, вот что получилось.

правда я так и не понял до конца как под себя изменить / добавить код shCore.js, который идет в папке /src.
взял скрипт с уже созданными кнопками и немного его дописал.

- view copy - по клику вызывается уже существующая ф-я this.execute для кнопки view sourse (при этом нужно было вычеслить и передать соответствующий id блока .syntaxhighlighter);

- copy to clipboard - так как существующий скрипт был версии 2.1.364, то сдесь копирование осуществляется через .swf файл. скопировал тэги <embed> в соответствии с необходимыми id для нужного кода в блоки copy to clipboard и наложил (при этом сам флэшь файл подредактировал что бы он был прозрачным прямоугольником) на надпись "copy to clipboard". вышло не совсем гуд, так как немного гючит когда наводишь мышь на copy to clipboard (ff 3.6, chrome 5), a в safari 4.0.5 - прозрачный прямоугольник залился цветом фона. пока еще не знаю как с этим справиться, потому как во флэшь я еще ню бой.

если кто будет смотреть пример, просьба сообщать о багах (по функционалу двух кнопок).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск