Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Доработка хука для IPB 3.3.х

Опубликовано:

Изначально нужно было добавить подсветку синтаксиса для кодов 1С. Был найден рабочий хук BBкодов для подсветки синтаксиса, в котором для каждого языка создан отдельный файл с описанием синтаксиса. Вроде бы задача сводилась к тому чтобы по образу и подобию добавить файл для 1С, но столкнулся с тем, что символы русской раскладки игнорируются. Основные алгоритмы работы описаны в файле ядра хука, который запакован. В папке src он распакован, и после его анализа вызвал подозрение кусок кода:

function parseParams(str)
{
       var match, 
	result = {},
	arrayRegex = new XRegExp("^\\[(?<values>(.*?))\\]$"),
	regex = new XRegExp(
		"(?<name>[\\w-]+)" +
		"\\s*:\\s*" +
		"(?<value>" +
			"[\\w-%#]+|" +		// word			
			"\\[.*?\\]|" +		// [] array
			'".*?"|' +			// "" string
			"'.*?'" +			// '' string
		")\\s*;?",
		"g"
	)
	;

где захотелось заменить

		"(?<name>[\\w-]+)" +

на

		"(?<name>[a-zA-Zа-яА-Я-]+)" +

и

			"[\\w-%#]+|" +		// word			

на

			"[a-zA-Zа-яА-Я-%#]+|" +		// word

 

Но после внесения изменений получить рабочий запакованный файл ядра не удалось. Перепробовал несколько онлайн сервисов для упаковки JS. Самый лучший результат дал http://dean.edwards.name/packer/ (для сравнения паковал исходный файл и сравнивал с запакованным родным), но все же отличия присутствуют - даже упакованный таким образом оригинальный файл исходника не работает под IPB.

Как внести изменения в хук и правильно его запаковать?

Изменено пользователем samtron76

Рекомендованные сообщения

Опубликовано:

Что мешает использовать распакованный вариант? Обфусцировать его обратно не обязательно вовсе.

Опубликовано:
  • Автор

Когда подкладывал распакованный модуль, хук переставал работать.

Заменил скрипты на предыдущую версию, проблема ушла.

Изменено пользователем samtron76

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.